Есть ли способ переключаться между всеми значениями в выпадающем списке в пользовательской форме с помощью VBA? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть несколько combobox es через несколько multipage страниц. Эти combobox являются либо имперскими, либо метрическими c. Есть ли способ изменить значение по умолчанию для всех combobox es на всех multipage s?

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 установлено значение metri c. Я хотел бы иметь возможность переключаться между value 0 и value 1 во всех combobox сразу.

1 Ответ

3 голосов
/ 29 апреля 2020

Вы можете l oop через все элементы управления на ваших пользовательских формах и установить следующее

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 на вариант, который решает, будет ли это Metri c или Imperial. Я предполагаю, что все ваши элементы управления установлены со значением Metri c в индексе 0 и Imperial в индексе 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...