作者:绿色风
分类:
时间:2022-08-17
浏览:118
楼主 wise |
Q:如何利用VBA代码反转列表框的数据? A:ALT+F11→插入相关窗体及以下代码
- Option Explicit
- Private Sub UserForm_Initialize()
- Dim cell As Range
- '获取工作表数据
- With ListBox_Items
- For Each cell In Range(Cells(2, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1))
- .AddItem cell.Value
- .List(.ListCount - 1, 1) = cell.Offset(0, 1).Value
- .List(.ListCount - 1, 2) = cell.Offset(0, 2).Value
- Next cell
- End With
- End Sub
- Private Sub CmdBtn_Exit_Click()
- Unload Me
- End Sub
- Private Sub CheckBox_Descend_Change()
- Call lBoxReverseOrder(ListBox_Items)
- '调用lBoxReverseOrder模块
- End Sub
- Public Sub lBoxReverseOrder(myLbox As MSForms.ListBox)
- Dim i As Long
- Dim j As Long
- Dim aryContents() As String
- Dim iListCnt
- Dim iColCount
- With myLbox
- '列表的数目
- iListCnt = .ListCount - 1
- '获取列数
- iColCount = .ColumnCount
- '列表数少于2的时候退出
- If .ListCount < 2 Then
- Exit Sub
- End If
- '准备合适的数组支持列表内容
- ReDim aryContents(iListCnt, iColCount)
- '
- For i = 0 To iColCount - 1
- For j = 0 To iListCnt
- aryContents(j, i) = .List(iListCnt - j, i)
- Next j
- Next i
- .List = aryContents
- End With
- End Sub
ReverseLboxOrder.rar |
2楼 亡者天下 |
过来学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一