Я работаю над базой данных жалоб клиентов для своей работы и хочу внедрить пользовательскую форму, чтобы упростить ввод данных для сотрудников офиса.Я только начинаю, но уже столкнулся с ошибкой, которую не могу понять, как исправить или обойти.
У меня есть кнопка для очистки пользовательской формы.Однако, когда я нажимаю кнопку, она очищает всю форму за исключением для ComboBox2, результаты которого зависят от выбора из ComboBox1.Я получаю ошибку 1004 во время выполнения, которая вызывает функцию Match, которую я использовал для ComboBox2.Код ниже.Кто-нибудь может помочь мне с этим?Спасибо!
Private Sub CommandButton2_Click()
Clear_Form
End Sub
Sub Clear_Form()
Me.ComboBox2.Clear
For Each ctl In Me.Controls
Select Case TypeName(ctl)
Case "TextBox"
ctl.Text = ""
Case "ComboBox"
ctl.ListIndex = -1
End Select
Next ctl
End Sub
Private Sub UserForm_Activate()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Customer")
Dim i As Integer
Me.ComboBox1.Clear
For i = 1 To Application.WorksheetFunction.CountA(sh.Range("1:1"))
Me.ComboBox1.AddItem sh.Cells(1, i).Value
Next i
End Sub
Private Sub ComboBox1_Change()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Customer")
Dim i As Integer
Dim n As Integer
n = Application.WorksheetFunction.Match(Me.ComboBox1.Value, sh.Range("1:1"), 0)
Me.ComboBox2.Clear
For i = 2 To Application.WorksheetFunction.CountA(sh.Cells(1, n).EntireColumn)
Me.ComboBox2.AddItem sh.Cells(i, n).Value
Next i
End Sub