有没有一种方法可以使用 vba 在用户窗体的组合框中的所有值之间切换?
Is there a way to toggle between all values in a combobox in a userform with vba?
我在多个 multipage
页面中有多个 combobox
es。这些 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
设置为公制。我希望能够一次在所有 combobox
中的 value 0
和 value 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 中的英制值
我在多个 multipage
页面中有多个 combobox
es。这些 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
设置为公制。我希望能够一次在所有 combobox
中的 value 0
和 value 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 中的英制值