VBA窗体之ListView基本应用-输出和改变颜色

2018年3月30日22:36:10VBA窗体之ListView基本应用-输出和改变颜色已关闭评论 7,859 views
微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com

怎样将选中的数据输出和改变字体颜色。我们先来看单行数据的输出

Private Sub CommandButton2_Click()
Dim i
For i = 1 To ListView1.ColumnHeaders.Count
Cells(7, i) = ListView1.ColumnHeaders(i)  '输出表头
If i = 1 Then
Cells(8, i) = ListView1.SelectedItem.Text  '第一列
Else
Cells(8, i) = ListView1.SelectedItem.SubItems(i - 1)  '其他列
End If
Next
End Sub

为了说明问题上面的代码我加了一个怎样输出表头的代码,平时用的话很少输出表头,SelectedItem表示被选中的那一行,自然第一列和其他列的表示方法还是分开的,不再多说了。

上面的代码是只选中一行的情况,那如果我选中了多行都需要输出怎么办,或者我要把整个ListView表格都输出怎么办?其实只要加一个判断该行是否选中的代码就可以了,选中的就输出,没选中的就不输出,输出全部的话连判断代码都免了。直接看循环判断部分代码

' For i = 1 To ListView1.ListItems.Count
'     If ListView1.ListItems(i).Selected Then
'        MsgBox i & "行已经选中"
'     End If
' Next

上面的代码判断出哪行被选中,再对ListView.ListItems(i)进行操作即可。

下面再来看看怎么设置颜色和加粗,我们要将第1行变为红色且字体加粗

Private Sub CommandButton3_Click()
Dim i, itm
Set itm = ListView1.ListItems(1)
itm.ForeColor = vbRed
itm.Bold = True
For i = 2 To ListView1.ColumnHeaders.Count
itm.ListSubItems(i - 1).ForeColor = vbRed
itm.ListSubItems(i - 1).Bold = True
Next
End Sub

同样的第一列和其他列要分开表示,这里我们用的是ListSubItems,上节我们说过这是一个对象,所以可以设置颜色等格式,如果用SubItems这个数组就不行了。示例文件下载地址:http://pan.baidu.com/s/1kTJZ0Yb

 

 



 

 

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页