application.match возвращает значение там, где его нет - PullRequest
1 голос
/ 26 июня 2019

Я пока не очень хорош в этом, но я пытаюсь сделать это без кода для вставки копий ... не уверен, что это лучшая идея.

Я пытаюсь найти разные значения в двухстолбцы, а затем вернуть другое, если оба столбца совпадают.В конце я буду извлекать из примерно 9 различных книг.

Dim wbACF As Workbook
Dim wsDiv As Worksheet
Dim rng As Range
Dim WC As String
Dim vCELL As Variant
Dim switch As Variant
Dim nvCell As Variant
Dim lastCell As Variant
Set wbACF = Workbooks("ACF.xls")
WC = Sheet1.Cells(5, 14).Value
nvCell = "A1"
lastCell = "A999"
Set wsDiv = wbACF.Worksheets(WC)
Set rng = wsDiv.Range(nvCell, lastCell)
switch = 1
Do While switch = 1
    vCELL = Application.Match("test", rng, 0)
    If wsDiv.Cells(vCELL, 7).Value = Sheet1.Cells(5, 13).Value Then
        Sheet1.Cells(11, 1).Value = wsDiv.Cells(vCELL, 4)
        switch = 0
    Else
        nvCell = "A" & vCELL + 1
        Set rng = wsDiv.Range(nvCell, lastCell)
    End If
Loop

для моих тестовых файлов, строки 10, 70, 150 и 210 соответствуют для теста, но только строка 210 совпадает как для теста, так и для Sheet1.Ячейки (5, 13). Значение

vCELL становится 10 в первом цикле, а затем выполняет остальную часть, во втором цикле vCELL становится 60, а затем никогда не изменяется.Я уверен, что мое кодирование плохое и является фактором, способствующим, но любая помощь будет оценена.

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