如何解决通过For循环更改UserForm元素的可见性
我有一个用ComboBoxes填充的大小不变的数组。当用户单击另一个UserForm元素(在我的情况下为CheckBox)时,此数组中每个ComboBox的可见性均应更改。当我运行下面的代码片段时,出现424 Object Required错误。我很可能会犯一个简单的语法错误,但是任何有关如何正确编写此错误的指导都将不胜感激。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.5/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.5/dist/js/select2.min.js"></script>
<div>
<select class="select2" style="width:200px;" name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</div>
解决方法
您需要Set
个对象引用,这样:
Set ComboBoxArray(0) = MyUserForm.ComboBox1
Dim ComboBoxArray(0 To 4)
创建一个包含 5 个元素的数组,而不是4个框所需的4个元素,因此您应该Dim ComboBoxArray(0 To 3)
(或仅Dim ComboBoxArray(3)
),否则最后一个元素为空,调用.Visible
将会失败。
(我假设CompetitorComboBoxes
是ComboBoxArray
的错字)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。