Логики вашего кода c верны? Мое понимание вашего кода:
- Начните с
ROW = 2
- Проверьте, совпадают ли
Cells(ROW,1)
и TextBox22
. - Если они совпадают, обновите пользовательская форма включая обновление
TextBox22
- Теперь перейдите к следующему
ROW
и повторите, начиная с шага 2 - Шаги 2, 3, 4 будут повторяться до несоответствия
- Если совпадений нет, покажите
MsgBox
Так что, если все значения в Column 1
не совпадают с теми, которые изначально были в TextBox22
, вы в конечном итоге вы получите MsgBox
.
Добавлено на основе комментария от оригинального плаката
Я думаю, этот код делает то, что вы после
Private Sub CheckPCButton_Click()
Dim MatchFound as boolean
Dim totRows As Long, i As Long
totRows = Worksheets("Sheet4").Range("A1").CurrentRegion.Rows.Count
MatchFound = False
For i = 2 To totRows
If Trim(UCase(Sheet4.Cells(i, 1))) = Trim(UCase(TextBox22.Text)) Then
TextBox22.Text = Sheet4.Cells(i, 1)
TextBox25.Text = Sheet4.Cells(i, 2)
TextBox24.Text = Sheet4.Cells(i, 3)
TextBox23.Text = "Approved"
MatchFound = True
Exit For
End If
Next i
If Not MatchFound Then MsgBox "Not approved"
End Sub