|
本帖最后由 today0427 于 2016-9-14 22:16 编辑
什么商店名字我去瞅瞅?买东西还给找钱太好了!
这个我只会写直接在工作表中排好序再导入的那种,数据不多的话速度还可以。或者你也可以等大神给你写个更好的,刚好我再学习一下。
- Option Explicit
- Dim o As Byte
- Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
- Dim k%
- k = ColumnHeader.Index
- Call px(k, o)
- Me.ListView1.ListItems.Clear
- Call tjlist
- End Sub
- Function px(k, o)
- Application.ScreenUpdating = False
- With Sheet1.[a1].CurrentRegion
- .Sort Sheet1.Cells(2, k), o, , , , , , 1
- End With
- o = IIf(o = 1, 2, 1)
- Application.ScreenUpdating = True
- End Function
- Private Sub UserForm_Initialize()
- Application.Visible = False
- '导入数据
- Dim i
- o = 1
- ListView1.BorderStyle = ccFixedSingle '设置边框样式。
- ListView1.View = lvwReport '设置 View 属性为报表型(表格)。
- For i = 1 To 5 '加列标题
- ListView1.ColumnHeaders.Add , , Worksheets(1).Cells(1, i), ListView1.Width / 5
- Next i
- Call tjlist
- End Sub
- Sub tjlist()
- Dim x, y
- For x = 1 To Worksheets(1).Cells(65536, 1).End(xlUp).Row '加行数据
- ListView1.ListItems.Add , , Worksheets(1).Cells(x + 1, 1) '加第一列
- For y = 1 To 5 - 1 '加列数据
- ListView1.ListItems(x).SubItems(y) = IIf(y < 3, Sheet1.Cells(x + 1, y + 1), Format(Sheet1.Cells(x + 1, y + 1), "0.00"))
- Next y
- Next x
- End Sub
- Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
- Application.Visible = True
- End Sub
复制代码 |
评分
-
查看全部评分
|