Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2272|回复: 15

[已解决]谁帮我改一下代码,把单选改成多选。谢谢

[复制链接]
发表于 2013-2-21 14:43 | 显示全部楼层 |阅读模式
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count = 1 And ActiveCell.Column = 10 And ActiveCell.Row > 3 Then
        With Me.ListBox1
            .Width = 1400  '整体宽度为150
            .Height = 200    '高度为,可以根据行数和字体大小计算得来
            .Visible = True  '保持可见
            .Left = ActiveCell.Offset(0, 1).Left  '显示在活动单元格右方
            .Top = ActiveCell.Top  '高度与活动单元格一致
            .ColumnWidths = "200;200;70;35;75;100;120;100;100;80;70;100;"  '设置三列的列宽
            .ListFillRange = "Sheet2!A4:l" & Worksheets("Sheet2").Cells(Cells.Rows.Count, 1).End(xlUp).Row '引用源
            .ColumnCount = 12  '默认显示三列
            .BackColor = &HE0E0E0     '背景色
            .BoundColumn = 1 '将第一列导入单元格
            .ColumnHeads = True  '显示列标题
            .ListStyle = fmListStyleOption '设置样式
        End With
    Else
        Me.ListBox1.Visible = False  '其它列隐藏列表框
    End If
End Sub
Private Sub ListBox1_Click()  '单击理表框时触发事件
    Dim ii As Integer
    With ActiveCell
        For ii = 10 To 10
            .Offset(0, ii - .Column) = ListBox1.Column(2) + "(" + ListBox1.Column(6) + ")" + ListBox1.Column(1)
        Next
        Me.ListBox1.Visible = False
    End With
End Sub

最佳答案
2013-2-21 16:05
是不是回车后EXCEL非法操作了?
如果非法操作了就把
  1. Me.ListBox1.Visible = False
复制代码
删除
发表于 2013-2-21 14:46 | 显示全部楼层
  1.     If Target.Count = 1 And ActiveCell.Column = 10 And ActiveCell.Row > 3 Then
复制代码
改成
  1.     If ActiveCell.Column = 10 And ActiveCell.Row > 3 Then
复制代码
回复

使用道具 举报

发表于 2013-2-21 14:48 | 显示全部楼层
如果你是要listbox支持多选的话。
.multiselect=1
回复

使用道具 举报

 楼主| 发表于 2013-2-21 14:56 | 显示全部楼层
hwc2ycy 发表于 2013-2-21 14:48
如果你是要listbox支持多选的话。
.multiselect=1

那取值的时候怎么获取选择的数据呢?用什么函数取出来是数组还是什么对象?谢谢
回复

使用道具 举报

发表于 2013-2-21 14:58 | 显示全部楼层
本帖最后由 hwc2ycy 于 2013-2-21 15:00 编辑

你的代码里有LISTBOX的事件嘛。

把你的附件传上来看看。
回复

使用道具 举报

 楼主| 发表于 2013-2-21 15:01 | 显示全部楼层
hwc2ycy 发表于 2013-2-21 14:58
你的代码里有LISTBOX的事件嘛。

把你的附件传上来看看。

有一个click事件上面代码里有
回复

使用道具 举报

 楼主| 发表于 2013-2-21 15:08 | 显示全部楼层
有qq吗?消息给我好吗?
回复

使用道具 举报

 楼主| 发表于 2013-2-21 15:14 | 显示全部楼层
hwc2ycy 发表于 2013-2-21 14:58
你的代码里有LISTBOX的事件嘛。

把你的附件传上来看看。

这是附件帮帮忙,用ComboBox1也可以

hhh.zip

16.59 KB, 下载次数: 5

回复

使用道具 举报

发表于 2013-2-21 15:14 | 显示全部楼层
直接发这吧。
回复

使用道具 举报

发表于 2013-2-21 15:20 | 显示全部楼层
sheet1的是没有问题的,你就说说你想实现什么吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 15:51 , Processed in 0.414243 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表