Excel:如果组合框1为空,则将组合框3-8设置为.visible为false

问题描述 投票:0回答:1

我有一个带有ComboBoxes 1-8的UserForm,每个UserForm在激活UserForm_Activate时都会在ws的指定单元格中提取文本。如果ComboBox1.Value =“”,我已将ComboBoxes 2-8设置为.Visible=False

是否有一种方法可以使用缩写代码为每个ComboBox设置.Visible=False,而不必分别列出每个ComboBox?我在下面添加了我现在正在使用的内容,但是我经常创建这样的表单,而宁愿使用“将我作为整数/ For i =“键入东西”,而不是仅在需要的地方复制和粘贴。预先谢谢!

If ComboBox1.Value = "" Then
ComboBox2.Visible = False
ComboBox3.Visible = False
ComboBox4.Visible = False
ComboBox5.Visible = False
ComboBox6.Visible = False
ComboBox7.Visible = False
ComboBox8.Visible = False
combobox shortcut
1个回答
0
投票

控件的间接引用

通过Controls()使用间接引用并尝试

Dim i As Long, current As Long
current = 1             ' << change to the combobox to be excepted
For i = 1 to 8          ' loop through all comboboxes
    Me.Controls("ComboBox" & i).Visible = False
Next i
Me.Controls("ComboBox" & current).Visible = True
© www.soinside.com 2019 - 2024. All rights reserved.