gpt4 book ai didi

VBA 循环遍历连续编号的名称

转载 作者:行者123 更新时间:2023-12-04 04:38:50 25 4
gpt4 key购买 nike

我知道如何循环遍历括号中的数字

For i = 0 To (ComboBox4.ListCount - 1)
If ComboBox4.Value = ComboBox4.List(i) Then inList = True
Next i

但是我怎样才能遍历不在括号中的数字呢?像连续编号的名字:

Me.ComboBox1.Value = ""
Me.ComboBox2.Value = ""
Me.ComboBox3.Value = ""

我试过:

for i=1 to 3
"Me.ComboBox"&i&".Value" = ""
next i

但这行不通。它应该是什么样子?

最佳答案

你会使用 Controls收藏。

例如:

Me.Controls("ComboBox" & i)  

编辑:
由于窗体上的控件是集合的一部分,您还可以遍历集合依次拉动每个控件:

    Private Sub UserForm_Initialize()

Dim ctl As Control

For Each ctl In Me.Controls
If TypeOf ctl Is MSFORMS.ComboBox Then
' If TypeName(ctl) = "ComboBox" Then
MsgBox ctl.Name
End If
Next ctl

End Sub

我添加了两种方法来识别@CallumDA 建议的控件类型。

Microsoft writes :

  • TypeName 函数返回一个字符串,当您需要存储或显示对象的类名时,它是最佳选择。
  • TypeOf...Is 运算符是测试对象类型的最佳选择,因为它比使用 TypeName 的等效字符串比较快得多。

关于VBA 循环遍历连续编号的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53816693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com