Я пишу простую программу Excel VBA для поиска по всей клиентской базе данных и поиска указанной записи c. При этом я столкнулся с проблемой - после первого совпадения он хорошо выполняет инструкции и останавливается.
База данных состоит из 500+ строк и выглядит следующим образом:
Столбец A Столбец B Столбец C Столбец D
Имя xxxx yyy zzzz
Вот некоторый упрощенный код
Sub Analizuj_1_Click()
Dim SearchName As String
Dim CColumn As Integer
Dim Match As Boolean
Dim CRow As Integer
Dim CRowPaste As Integer
On Error GoTo Err_Execute
LDate = Range("NazwaKlienta").Value
Sheets("2019").Select
'Starting in Column A, Row 2'
LColumn = 1
LRow = 2
LRowPaste = 2
LFound = False
While LFound = False
'Found a blank cell -> terminate'
If Len(Cells(CRow, 1)) = 0 Then
MsgBox "Klient nie ma zaległości"
Exit Sub
'Found Match
Szukaj: ElseIf Cells(CRow, 1) = SearchName Then
Cells(CRow, 1).EntireRow.Select
Selection.Copy
Sheets("test").Select
Cells(CRowPaste, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
LFound = True
CRowPaste = CRowPaste + 1
Sheets("2019").Select
'Continuation"
ElseIf Cells(CRow, 1).Value > 0 Then
CRow = CRow + 1
GoTo Szukaj
End If
Wend
Exit Sub
Err_Execute:
MsgBox "Blad."
End Sub
Даже Если я попытаюсь продолжить поиск в операторе Start, он останавливается при первом найденном совпадении. Я попытался поэкспериментировать с другими методами и все еще с той же проблемой.
Inb4 Я знаю, выбор не самый эффективный метод для чего-либо