
Есть поле ComboBox1 которое должно принимать значения от 1 до 373
1.Использую следующий код:
Private Sub Initialize()
Dim S(1 To 373) As Integer
For i = 1 To 373
S(i) = i
Next i
ComboBox1.List = S
End Sub
Работает единожды, а потом приходится тыкать «носом» программу чтобы в поле появились значения, как быть??
2. В зависимости от значения в поле ComboBox1, предположим ячейка I50 должна принимать разные значения, например:
If ComboBox1.Value = 1 Then Range("I50") = 1
If ComboBox1.Value = 22 Then Range("I50") = 1
……..
If ComboBox1.Value = 310 Then Range("I50") = 3
If ComboBox1.Value = 311 Then Range("I50") = 3
……
Но так как ряд значений достаточно большой, то использовать If ComboBox….Value = … Then Range("…") = … думаю не совсем целесообразно, т.к. это долго и ведет к загромождению кода, можно ли заменить эту функцию какой-нибудь другой, чтобы результат был типа:
If ComboBox1.Value = 1,22,………. Then Range("I50") = 1
If ComboBox1.Value = 310,311,………. Then Range("I50") = 3
На всякий пожарный прилагаю файл
Заранее благодарен!