Я пытаюсь настроить форму пользователя для выполнения цикла и поиска информации в моей таблице, которая находится в отдельном листе в той же книге.Мой код не будет работать с моей пользовательской формой, почему?
Я хочу, чтобы моя пользовательская форма искала информацию в моей таблице, когда я печатаю, а затем автоматически заполняю другие текстовые поля, чтобы я мог ограничивать нажатия клавиш и дубликаты.
Я нашел код, который работал с другой формой пользователя по желанию. Однако, когда я пытаюсь использовать тот же код для своей таблицы, он проходит через цикл, как будто он выглядит, но не заполняет пользовательскую форму. Я попытался изменить имена текстовых полей пользовательских форм и убедиться, что имена совпадают ... но безрезультатно. Мне также нужно пропустить поле со списком в моей пользовательской форме, может ли это повлиять на мой код?
Option Explicit
Dim id As String, i As String, j As Integer, flag As Boolean
Sub GetData()
If Not IsNumeric(UserForm1.TextBox1.Value) Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
Do While Cells(i + 1, 1).Value <> ""
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 4 To 7
UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 2 To 4
' UserForm1.Controls("TextBox" & j).Value = ""
Next j
End If
Else
End If
End Sub
Вы можете написать 'userform1.repaint' перед' End Sub' линии? – Vityata
Когда вы запускаете эту пользовательскую форму, является ли «отдельный рабочий лист» активным? Если нет, квалифицируйте весь свой диапазон объектов до ссылки на рабочий лист – user3598756
, почему вы устанавливаете i как строку, а затем используете ее для хранения чисел? наверно, ты бы смутил его как долго? – Zerk