Здравствуйте. Как подсчитать сумму значений текстбоксов (с 1 по 4) непосредственно во время ввода, и поместить в текстбокс 5? При изменении значений текстбоксов (с 1 по 4) сумма в текстбокс 5 должна менятся. Спасибо.
[вложение удалено администратором]
Amator, когда на форме находится несколько элементов управления (полей, кнопок и т.д.), то становится неудобно писать код для каждого элемента управления.
В этом случае создают класс. Я сам плохо понимаю, как и что работает, поэтому плохо могу объяснить процессы.
[вложение удалено администратором]
Спасибо! Класс.
Появилась проблема. Как на одну форму назначить два кода? Может как то в один?
Спойлер
Private Sub UserForm_Initialize()
Dim iLastRow As Long
Me.TextBox72.Text = Cells(79, 16)
With Sheets("БД")
lngLastRow = .Cells(Rows.Count, "AE").End(xlUp).Row
Me.ComboBox1.RowSource = .Range("AE4:AG48" & lngLastRow).Address(External:=True)
iLastRow = .Cells(Rows.Count, "AF").End(xlUp).Row
Me.ComboBox2.RowSource = .Range("AF4:AF48" & iLastRow).Address(External:=True)
iLastRow = .Cells(Rows.Count, "AH").End(xlUp).Row
Me.ComboBox3.RowSource = .Range("AH4:AH48" & iLastRow).Address(External:=True)
End With
End Sub
и код
Private Sub UserForm_Initialize()
Dim i As Long
For i = 2 To 69 Step 1
Set arrClass1(i).myTextBox = Me.Controls("TextBox" & i)
Next i
End Sub
А в чём сложности?
Если просто объединить, то что-то не работает:?
Макрос
Private Sub UserForm_Initialize()
Dim lngLastRow As Long
Dim i As Long
Me.TextBox72.Text = Cells(79, 16)
With Sheets("БД")
lngLastRow = .Cells(Rows.Count, "AE").End(xlUp).Row
Me.ComboBox1.RowSource = .Range("AE4:AG48" & lngLastRow).Address(External:=True)
lngLastRow = .Cells(Rows.Count, "AF").End(xlUp).Row
Me.ComboBox2.RowSource = .Range("AF4:AF48" & lngLastRow).Address(External:=True)
lngLastRow = .Cells(Rows.Count, "AH").End(xlUp).Row
Me.ComboBox3.RowSource = .Range("AH4:AH48" & lngLastRow).Address(External:=True)
End With
For i = 2 To 69 Step 1
Set arrClass1(i).myTextBox = Me.Controls("TextBox" & i)
Next i
End Sub
При объединении я сделал ошибку . Теперь код работает . Спасибо.
Здравствуйте. Опять проблемма. В одном файле код работает замечательно. В другом - ошибка. Проблемма с arrClass2. Что это значит?
[вложение удалено администратором]
Amator, а какой текст ошибки?
Текст:
[вложение удалено администратором]
Amator, я так понимаю, что Вы не создали массив "arrClass1". Этот массив создаётся вверху модуля.
Все верно, моя ошибка. Спасибо.