有没有一种方法可以用vba在用户表单中的组合框中的所有值之间切换



我在多个multipage页面中有多个combobox。这些combobox是英制或公制。有没有办法更改所有multipage上所有combobox的默认值?

Private Sub UserForm_Initialize()
ComboBox1.List = Array("KPa", "psi")
ComboBox2.List = Array("mm", "inch")
ComboBox3.List = Array("m", "ft")
ComboBox4.List = Array("m3", "bbl")
ComboBox5.List = Array("m^3", "ft^3")
ComboBox6.List = Array("m", "ft")
ComboBox7.List = Array("MPa", "psi")
ComboBox8.List = Array("KPa/m", "psi/ft")
ComboBox9.List = Array("KPa", "psi")
ComboBox10.List = Array("m^3", "ft^3")
ComboBox11.List = Array("m3", "bbl")
ComboBox12.List = Array("mm", "inch")
ComboBox13.List = Array("m", "ft")
ComboBox14.List = Array("KPa", "psi")
ComboBox15.List = Array("m3/min", "bbl/min")
ComboBox16.List = Array("m3", "bbl")
ComboBox17.List = Array("mps", "fps")
ComboBox18.List = Array("mps", "fps")
ComboBox19.List = Array("m^3", "ft^3")
ComboBox20.List = Array("m3/min", "bbl/min")
ComboBox21.List = Array("m", "ft")
ComboBox22.List = Array("m/min", "ft/min")
ComboBox23.List = Array("m^3", "ft^3")
ComboBox24.List = Array("m^3", "ft^3")
ComboBox25.List = Array("m3", "bbl")
ComboBox26.List = Array("m3", "bbl")
ComboBox27.List = Array("m^3", "ft^3")
ComboBox28.List = Array("m^3", "ft^3")
ComboBox29.List = Array("m^3", "ft^3")
End Sub

我在宏编辑器中将value property设置为metric。我希望能够同时在所有combobox中的value 0value 1之间切换。

您可以循环浏览用户表单上的所有控件,并使用以下进行设置

Dim cBox As Control
For Each cBox In Me.Controls
If TypeName(cBox) = "ComboBox" Then
cBox.ListIndex = IIf(prop = "Metric", 0, 1)
End If
Next cBox

prop替换为决定它是公制还是英制的变体。我假设您的所有控件都设置为索引0中的公制值和索引1 中的英制值

相关内容

  • 没有找到相关文章

最新更新