vba取一列数中非0的行_VBA代码解决方案第104讲内容:排序,在Listview控件中鼠标点击就可以实现,真的非常简单...

4a63af3d3d39429570f7c67a9dc6220b.png

大家好,我们今日继续讲解VBA代码解决方案的第104讲内容:在Listview控件中排序。在讲控件的时候我首先详细的讲解了TEXTBOX控件,再次详细讲解的就是这个Listview控件了,这些都是常用的控件,熟练的掌握这些对于自己非常的有好处,今天讲的是Listview控件如何进行排序。

在使用Listview控件显示报表型的数据时,可能通过单击Listview控件的列标题对列表数据进行排序,真的非常的方便,代码如下:

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

With me.ListView1

.Sorted = True

.SortOrder = (.SortOrder + 1) Mod 2

.SortKey = ColumnHeader.Index - 1

End With

End Sub

代码截图:

7a54c6027f2cedeb81c7edf4cb0813ce.png

在讲解上述几个代码之前,我们先看看几个必要的属性设置的讲解。

1 Listview控件的Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序,设置为False则不进行排序。

2 SortOrder属性返回或设置一个值,决定ListView控件中的ListItem对象以升序或降序排序,设置为0以升序排序,设置为1则以降序排序。

3 SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序,语法如下:object.SortKey [=integer]

参数object是必须的,对象表达式,其值为ListView控件。

参数integer是必须的,指定排序关键字的整数,设置为0使用ListItem对象的Text属性排序,即第一列的数据进行排序。设置为大于0的整数则使用子项目的集合索引排序。

有了上面的属性的知识,我们来看下面的代码讲解就容易多了。

代码解析:Listview控件的ColumnClick事件过程,单击列标题时触发,对列表数据进行升序或降序排序。

第3行代码将Listview控件的Sorted属性设置为True。即表明允许排序。

第4行代码设置Listview控件的排序方式。这里是按照MOD运算来设置的,在设置SortOrder属性值时使用Mod运算符的目的是,到第一次排序以降序排序,再次排序时以升序排序,交替进行的效果。这样可以设置可以给操作带来方便。

第5行代码设置Listview控件排序关键字的整数,即指定Listview控件以当前选定的列数据进排序。

运行窗体,Listview控件显示工作表中的内容,单击列标题对列表数据进行升序或降序排序。

运行截图:

d3568ce787c4cb661b81d83c3f799c5e.png

单击一下名称:

c7de6fd66102427f97bcb09009300c43.png

再次单击:

8da3eca3c61af19f950095f1fc76c5be.png

今日内容回向:

1 如何实现Listview控件的排序呢?

2 上述方法排序有个最大弊端,你是否意识到了呢?如何解决

我的自媒体平台:微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

《VBA代码解决方案》终于可以和大家见面了,这些内容均在这个平台上发表过,现结集成册,PDF文件,其中内容(含代码)可以复制,有需要的朋友微信联络我,前百名的朋友按最优惠推送。详细信息参考“前言”内容。联络微信 NZ9668

b80dacb4365ba2a88456d1f098b970f9.png

07e70c3a32e5d697498e40523f39cbbf.png

efb8b115e3a250b9c18427002a283c61.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值