(完整版)VBA实战系列(ListView控件)
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)VBA实战系列(ListView控件))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整版)VBA实战系列(ListView控件)的全部内容。
(完整版)VBA实战系列(ListView控件)
编辑整理:张嬗雒老师
尊敬的读者朋友们:
vba排序函数sort用法这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 (完
整版)VBA实战系列(ListView控件) 这篇文档能够给您的工作和学习带来便利。同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为 〈(完整版)VBA实战系列(ListView控件)〉 这篇文档的全部内容。
VBA项目实战__ListView控件应用
ListView控件是一款非常优秀的表格控件,被广泛应用于VBA项目.VBA使用者熟练地掌握此控件的用法,不仅能大大地增加自己学习VBA的兴趣,而且对实际工作也有很好的帮助。
一、Excel基础数据
二、实现效果
我们要通过VBA控件list view,实现如下图示效果
三、实现过程
(一)添加listview控件
1.打开VBE编辑器,新建窗体flist
2.添加listview控件。在工具箱中选择listview控件放入窗体。
如工具箱中没有该控件,则应查注册MSCOMCTL.OCX 文件.我们可以按照以下方法进行注册:
1)将文件解压到“C:\WINDOWS\system32”(WindowsXP);
2)单击【开始】|【运行】命令,键入“regsvr32 C:\WINDOWS\system32 \MSCOMCTL.OCX "(WindowsXP)”进行注册。
(二)添加代码
1。添加表头
Private Sub UserForm_Initialize()
ListView1.ColumnHeaders。Add , , ”日期", 64, 0
ListView1。ColumnHeaders.Add , , ”姓名”, 54, 2
ListView1.ColumnHeaders。Add , , "性别", 42, 2
ListView1.ColumnHeaders。Add , , "年龄”, 54, 2
ListView1.ColumnHeaders.Add , , ””, 54, 2
ListView1.ColumnHeaders。Add , , "电话", 99, 2
ListView1.ColumnHeaders。Add , , "诊断", 54, 2
ListView1.ColumnHeaders。Add , , "手术名称”, 86, 2
ListView1。View = lvwReport ’显示格式为报表格式
ListView1。FullRowSelect = True '允许整行选中
ListView1.Gridlines = True ’显示网格线
’ ListView1。Sorted = True '排序
End Sub
以上代码中ListView1.ColumnHeaders.Add , , ”日期”, 64, 0中的64代表该表头字段的宽度,0代表居左显示方式.
【应用技巧】
在实际应用中,如何确定列宽对初学者来说是一个难点,这里给大家提供一个确定列宽的实用方法。通常ListView控件加载的数据都存放在一张excel工作表中,我们先在工作表中调整好列宽,然后用ListView控件需要加载的excel表格的列宽作为相应ListView控件的列宽即可,求列宽可用以vba代码实现。个人具体做法见如下过程:
Sub 代码生成1__ListView标题头和列宽()
Dim sh As Worksheet, i
Set sh = Sheet1
Debug。Print "Private Sub UserForm_Initialize()”
For i = 1 To sh。Cells(1, Columns.Count)。End(xlToLeft).Column
If i = 1 Then Debug.Print " ListView1。ColumnHeaders。Add , ,"”” & sh。Cells(1, i) & ""”, " & Int(sh.Cells(1, i).Width) & ",0”
If i 〉 1 Then Debug。Print ” ListView1.ColumnHeaders.Add , ,""” & sh.Cells(1, i) & ”””, " & Int(sh。Cells(1, i)。Width) & ”,2"
Next i
Debug.Print " ListView1。View = lvwReport" & Chr(10) & " ListView1.FullRowSelect = True” & Chr(10) & " ListView1.Gridlines = True" & Chr(10) & ”End Sub"
' ListView1。ColumnHeaders.Add , , "日期”, 64, 0 注释:对齐方式(0:左,1右,2居中),首先必须靠左,这是控件自身特性决定的
End Sub
立即窗口显示debug。print结果,可以复制此代码,是不是简单快捷很多。
2.加载数据
Sub ListDisp()
Dim cn As Object, rs As Object, sql As String, Itm
Set cn = CreateObject(”ADODB.Connection”) ’连接数据库CreateObject("adodb。connection”)
Set rs = CreateObject(”ADODB。Recordset")
cn.Open ”provider=microsoft.jet.oledb。4。0;extended properties='excel 8.0;HDR=yes;IMEX=2';data source=" & ThisWorkbook。FullName
sql = ”Select * from [病例数据$A1:Q] "
rs。Open sql, cn, 1, 3
ListView1.ListItems。Clear ’清除ListView记录
Do While Not rs.EOF
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论