VBA自学应用(16)——Listview控件基本操作

一、找到ListView控件

工具——附加控件——Microsoft ListView Control。

在这里插入图片描述
在这里插入图片描述

二、Listview控件显示数据

  • 首先我们插入一个ListView控件,如图所示。
    在这里插入图片描述
  • 数据如图所示
    在这里插入图片描述
  • 然后再对应事件中插入如下代码
Private Sub UserForm_Initialize()
    Dim lst As ListItem
    Dim i As Long, j As Long, k As Long, m As Long
    j = Sheet1.Cells(Rows.Count, 2).End(3).Row
    With Me.ListView1
        For i = 0 To Sheet1.Range("b3").CurrentRegion.Columns.Count - 1
            .ColumnHeaders.Add , , Sheet1.Cells(3, i + 2), 50
        Next
        '设置标题行
        .View = lvwReport
        .Gridlines = True
        '设置视图
        For k = 4 To j
            Set lst = .ListItems.Add()
            lst.Text = Sheet1.Cells(k, 2)
            For m = 1 To Sheet1.Range("b3").CurrentRegion.Columns.Count - 1
                lst.SubItems(m) = Sheet1.Cells(k, m + 2).Value
            Next
        Next
        '添加记录
        Set .SelectedItem = .ListItems(1)
        '选择第一条记录
    End With
    Set lst = Nothing
End Sub

三、使用复选框

  • 首先我们在上述代码中加入下列代码,以启用复选框
With Me.ListView1
	.FullRowSelect = True
	.CheckBoxes = True
End With
  • 然后插入一个命令窗体,刷入以下代码
Private Sub CommandButton1_Click()
    With Me.ListView1
        For i = 1 To .ListItems.Count
            If .ListItems(i).Checked Then
                Set rngCel = Sheet4.Cells(Rows.Count, 2).End(3).Offset(1)
                rngCel.Value = .ListItems(i)
                For j = 1 To 3
                    rngCel.Offset(0, j) = .ListItems(i).SubItems(j)
                Next
                .ListItems(i).Checked = False
            End If
        Next
    End With
    Set rngCel = Nothing
End Sub

四、在listview控件中排序

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    With Me.ListView1
        .Sorted = True
        .SortOrder = 1
        '0为升序,1为降序,默认升序
        .SortKey = ColumnHeader.Index - 1
    End With
End Sub
  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

star星梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值