Поиск по строкам во всем столбце - PullRequest
1 голос
/ 13 января 2020

Я пишу простую программу 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 Я знаю, выбор не самый эффективный метод для чего-либо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...