ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > VBA中如何使用listView控件

VBA中如何使用listView控件

作者:绿色风 分类: 时间:2022-08-17 浏览:384
楼主
wise
Q: VBA中如何使用listView控件?
A:以下这个例子将带你入门:
  1. Private Sub UserForm_Initialize()
  2. Dim ITM As ListItem
  3. ListView1.ColumnHeaders.Clear '清除listview1中的标题
  4. ListView1.ListItems.Clear '清除listview1中的内容
  5. ListView2.ColumnHeaders.Clear '清除listview2中的标题
  6. ListView2.ListItems.Clear '清除listview2中的内容
  7.     With Sheets("欧洲")
  8.    
  9.         ListView1.ColumnHeaders.Add 1, , .Cells(1, 1), ListView1.Width / 9 '添加第一列的标题
  10.         ListView1.ColumnHeaders.Add 2, , .Cells(1, 2), ListView1.Width / 9 '添加第二列的标题
  11.         ListView1.ColumnHeaders.Add 3, , .Cells(1, 3), ListView1.Width / 9 '添加第三列的标题
  12.         ListView1.ColumnHeaders.Add 4, , .Cells(1, 4), ListView1.Width / 9 '添加第四列的标题
  13.         ListView1.ColumnHeaders.Add 5, , .Cells(1, 5), ListView1.Width / 9 '添加第五列的标题
  14.         ListView1.ColumnHeaders.Add 6, , .Cells(1, 6), ListView1.Width / 9 '添加第六列的标题
  15.         ListView1.ColumnHeaders.Add 7, , .Cells(1, 7), ListView1.Width / 9 '添加第七列的标题
  16.         ListView1.ColumnHeaders.Add 8, , .Cells(1, 8), ListView1.Width / 9 '添加第八列的标题
  17.         ListView1.ColumnHeaders.Add 9, , .Cells(1, 9), ListView1.Width / 9 '添加第九列的标题
  18.         
  19.         ListView1.View = lvwReport '显示为报表视图
  20.         ListView1.Gridlines = True '方格线
  21.         ListView1.FullRowSelect = True '选取整行
  22.         ListView1.CheckBoxes = True '复选框
  23.         ListView1.BackColor = RGB(255, 199, 9) '背景颜色
  24.         ListView1.HotTracking = True '热键
  25.    
  26.     For i = 2 To .[A65536].End(xlUp).Row
  27.         
  28.         Set ITM = ListView1.ListItems.Add() '为listview1控件里面的行添加内容
  29.             ITM.Text = .Cells(i, 1) '为行标赋值
  30.             ITM.SubItems(1) = .Cells(i, 2)
  31.             ITM.SubItems(2) = .Cells(i, 3)
  32.             ITM.SubItems(3) = .Cells(i, 4)
  33.             ITM.SubItems(4) = .Cells(i, 5)
  34.             ITM.SubItems(5) = .Cells(i, 6)
  35.             ITM.SubItems(6) = .Cells(i, 7)
  36.             ITM.SubItems(7) = .Cells(i, 8)
  37.             ITM.SubItems(8) = .Cells(i, 9)
  38. '=======================================================
  39.              With ITM.ListSubItems.Item(2) '为里面的第三列调整相应的字体大小及颜色
  40.              If .Text < 2 Then
  41.                 .ForeColor = RGB(255, 0, 0) '字体颜色为红色
  42.                 Else
  43.                  .Bold = True '字体为粗体
  44.                  .ForeColor = RGB(0, 0, 255) '字体颜色为蓝色
  45.              End If
  46.              End With
  47.              With ITM.ListSubItems.Item(8) '为里面的第九列调整相应的字体大小及颜色
  48.              If .Text > 18 Then
  49.                 .ForeColor = RGB(255, 0, 0)
  50.                 Else
  51.                  .Bold = True
  52.                  .ForeColor = RGB(0, 0, 255)
  53.              End If
  54.              End With
  55. '=========================================================
  56.     Next i
  57.     End With
  58.    
  59.     With Sheets("亚洲")
  60.    
  61.         ListView2.ColumnHeaders.Add 1, , .Cells(1, 1), ListView2.Width / 9
  62.         ListView2.ColumnHeaders.Add 2, , .Cells(1, 2), ListView2.Width / 9
  63.         ListView2.ColumnHeaders.Add 3, , .Cells(1, 3), ListView2.Width / 9
  64.         ListView2.ColumnHeaders.Add 4, , .Cells(1, 4), ListView2.Width / 9
  65.         ListView2.ColumnHeaders.Add 5, , .Cells(1, 5), ListView2.Width / 9
  66.         ListView2.ColumnHeaders.Add 6, , .Cells(1, 6), ListView2.Width / 9
  67.         ListView2.ColumnHeaders.Add 7, , .Cells(1, 7), ListView2.Width / 9
  68.         ListView2.ColumnHeaders.Add 8, , .Cells(1, 8), ListView2.Width / 9
  69.         ListView2.ColumnHeaders.Add 9, , .Cells(1, 9), ListView2.Width / 9
  70.         
  71.         ListView2.View = lvwReport
  72.         ListView2.Gridlines = True
  73.         ListView2.FullRowSelect = True    '整行选取
  74.         ListView2.CheckBoxes = True '复选框
  75.         ListView2.BackColor = RGB(255, 199, 9) '背景颜色
  76.         ListView2.HotTracking = True '热键
  77.         
  78.     For i = 2 To .[A65536].End(xlUp).Row
  79.         Set ITM = ListView2.ListItems.Add()
  80.             ITM.Text = .Cells(i, 1)
  81.             ITM.SubItems(1) = .Cells(i, 2)
  82.             ITM.SubItems(2) = .Cells(i, 3)
  83.             ITM.SubItems(3) = .Cells(i, 4)
  84.             ITM.SubItems(4) = .Cells(i, 5)
  85.             ITM.SubItems(5) = .Cells(i, 6)
  86.             ITM.SubItems(6) = .Cells(i, 7)
  87.             ITM.SubItems(7) = .Cells(i, 8)
  88.             ITM.SubItems(8) = .Cells(i, 9)
  89.               
  90. '=======================================================
  91.    
  92.             With ITM.ListSubItems.Item(2)
  93.              If .Text < 3 Then
  94.                 .ForeColor = RGB(255, 0, 0)
  95.                 Else
  96.                  .Bold = True
  97.                  .ForeColor = RGB(0, 0, 255)
  98.              End If
  99.              End With
  100.              With ITM.ListSubItems.Item(8)
  101.              If .Text >= 12 Then
  102.                 .ForeColor = RGB(255, 0, 0)
  103.                 Else
  104.                  .Bold = True
  105.                  .ForeColor = RGB(0, 0, 255)
  106.              End If
  107.              End With
  108.             
  109. '=======================================================
  110.     Next i
  111.     End With
  112. End Sub


listview控件的小例子.rar
2楼
omnw
不错,支持!希望能上传完整的帮助文件。
3楼
开心萝卜
谢谢老师,

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap