前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA自动选择列表框中的第一项

使用VBA自动选择列表框中的第一项

作者头像
fanjy
发布2022-11-16 13:00:17
2.3K0
发布2022-11-16 13:00:17
举报
文章被收录于专栏:完美Excel

标签:VBA,列表框,用户界面

有时候,可能你想自动选择列表框中的第一项或者最后一项。例如,当选择列表框所在的工作表时,列表框自动选择第一项,或者选择最后一项。这都可以使用简单的VBA代码轻易实现。

示例效果如下图1所示。

图1

VBA代码如下:

代码语言:javascript
复制
Private Sub CommandButton1_Click()
    Dim i As Long
    For i = ListBox1.ListCount - 1 To 0 Step -1
        ListBox1.ListIndex = i
    Next i
End Sub
Private Sub CommandButton2_Click()
    Dim i As Long
    For i = 0 To ListBox1.ListCount - 1
        ListBox1.ListIndex = i
    Next i
End Sub
Private Sub Worksheet_Activate()
    CommandButton1_Click
End Sub

第一个过程在单击命令按钮后选择列表框中的第一项,第二个过程在单击命令按钮后选择列表框中的最后一项。而Activate事件,当该工作表成为当前工作表时,自动执行相应的过程,从而选择列表框中的第一项。

这些过程是如何工作的呢?它们是在计算列表框中所有列表项数的前提下工作的。在第一个过程中,使用一个简单的循环从列表框的底部开始,一直到顶部。

For i = ListBox1.ListCount - 1 To 0 Step -1

等价于

For i = 6 to 0

注意,列表框的列表计数从零(0)开始。

列表框中共有7项,Step -1告诉循环在每次循环迭代中从i减少1。

对于第二个过程,在循环内调用相反的过程。从顶部开始,向下直到底部,然后停止。

注:有兴趣的朋友可以到知识星球App完美Excel社群下载示例工作簿。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档