Я создаю интерфейс Userform для своей команды, мы хотим сделать сбор данных унифицированным и более простым, одна из вещей, которую мы хотим устранить дублирующиеся записи, запустив поиск, в настоящее время я ищу только номер счета, Что работает, однако было запрошено, чтобы мы включили несколько переменных, код, который я имею в следующем
Итак, мой интерфейс выглядел так:
![enter image description here](https://i.stack.imgur.com/8gAaR.png)
и мой код для поиска по счету
Public Sub Search1()
row_Number = 0
Do
DoEvents
row_Number = row_Number + 1
Item_in_Review1 = Sheets("Source").Range("E" & row_Number)
If Item_in_Review = Userform1.TextBox1.Text Then
> /*send relevant data to Userform3*/
UserForm3.TextBox5 = Sheets("Source").Range("B" & row_Number)
UserForm3.TextBox1 = Sheets("Source").Range("C" & row_Number)
UserForm3.TextBox2 = Sheets("Source").Range("D" & row_Number)
UserForm3.TextBox3 = Sheets("Source").Range("E" & row_Number)
UserForm3.TextBox6 = Sheets("Source").Range("F" & row_Number)
UserForm3.TextBox7 = Sheets("Source").Range("G" & row_Number)
UserForm3.TextBox8 = Sheets("Source").Range("H" & row_Number)
UserForm3.TextBox9 = Sheets("Source").Range("I" & row_Number)
UserForm3.TextBox4 = Sheets("Source").Range("J" & row_Number)
End If
Loop Until Item_in_Review = ""
End Sub
и это работает, поэтому я решил попробовать добавить и другие параметры, например:
Public Sub Search1()
row_Number = 0
Do
DoEvents
row_Number = row_Number + 1
Item_in_Review1 = Sheets("Source").Range("E" & row_Number)
Item_in_Review2 = Sheets("Source").Range("B" & row_Number)
Item_in_Review3 = Sheets("Source").Range("I" & row_Number)
If Item_in_Review = Userform1.TextBox1.Text And Item_in_Review2 = Userform1.ComboBox1.Text And Item_in_Review3 = Userform1.ComboBox2.Text Then
UserForm3.TextBox5 = Sheets("Source").Range("B" & row_Number)
UserForm3.TextBox1 = Sheets("Source").Range("C" & row_Number)
UserForm3.TextBox2 = Sheets("Source").Range("D" & row_Number)
UserForm3.TextBox3 = Sheets("Source").Range("E" & row_Number)
UserForm3.TextBox6 = Sheets("Source").Range("F" & row_Number)
UserForm3.TextBox7 = Sheets("Source").Range("G" & row_Number)
UserForm3.TextBox8 = Sheets("Source").Range("H" & row_Number)
UserForm3.TextBox9 = Sheets("Source").Range("I" & row_Number)
UserForm3.TextBox4 = Sheets("Source").Range("J" & row_Number)
End If
Loop Until Item_in_Review = "" And Item_in_Review2 = "" And Item_in_Review3 = ""
End Sub
Но теперь я получаю ошибку несоответствия, где я иду не так?
Идея состоит в том, что если Userform1.TextBox1.Text + Userform1.ComboBox1.Text + Userform1.ComboBox2.Text = Range B, E, I соответственно, то он заполнит следующую пользовательскую форму всеми соответствующими данными. Кто-нибудь может помочь?