作者:绿色风
分类:
时间:2022-08-17
浏览:775
楼主 DJ_Soo |
Q:如何使用VBA对窗体ListBox控件的多列列表框的数据进行添加与删除? A:ALT+F11→插入模块及窗体→输入下面代码:
- Private Sub CommandButton1_Click()
- '关键处1
- ListBox1.Column = Application.Transpose([A1:C11])
- End Sub
- Private Sub CommandButton2_Click()
- With UserForm1.ListBox1
- '关键处2
- For n = .ListCount - 1 To 0 Step -1
- '删除所选行数据
- If .Selected(n) Then .RemoveItem n
- Next n
- End With
- End Sub
- Private Sub CommandButton3_Click()
- ListBox1.Clear
- End Sub
- Private Sub UserForm_Initialize()
- With ListBox1
- .ColumnCount = 3
- .ColumnWidths = ListBox1.Width / 5 & "," & ListBox1.Width * 2 / 5 & "," & ListBox1.Width * 2 / 5
- .TextAlign = fmTextAlignCenter
- .MultiSelect = fmMultiSelectMulti
- End With
- End Sub
关键1说明: 直接用RowSource就是对源数据固定了(对应表的地址固定住了.表中不变数据显示就不变),在Listbox中无法删除. 二维数组的赋值应该可以换成
- ListBox1.Column = Application.Transpose([A1:C11])
这样的赋值是将这个数组数据赋值到ListBox中,而不是一个类似于链接的引用.可以对其进行删除. 但是如果只是一列的话,一般用List属性赋值如:
- ListBox1.List=array(1,2,3,4,5)
窗体学习--多列列表框的数据添加与删除.rar |
2楼 xyf2210 |
谢谢分享,一直就会循环 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一