Ошибка выполнения # 1004 при попытке запустить циклы для сравнения значений ячеек (один список длиннее другого) - PullRequest
0 голосов
/ 02 июля 2019

Добрый день,

Я пытаюсь сравнить два столбца данных на одном листе.То, что я пытаюсь сделать, это в основном просмотреть все значения в столбце B, сравнить значения с последним значением в столбце A и, если они совпадают, вызвать определенную функцию.

Затем перейдите к следующему значению в столбце A и сравните все значения в B снова и т. Д.

Я получаю ошибку 1004 и ломаю голову над тем, почему.Я относительно новичок, поэтому, надеюсь, это простое решение.

Я пробовал несколько вещей, таких как: Определение моих значений внутри и вне цикла Изменение типа данных значений Изменение общего синтаксиса

Sub FindSamples()
Dim first As String
Dim second As String
Dim j As Long
Dim i As Long

Dim lastRowNumber As Long
Dim lastRowNumberDDH As Long

With Sheets("Shape Point Info")

    lastRowNumber = .Cells(Rows.Count, 1).End(xlUp).Row
    lastRowNumberDDH = .Cells(Rows.Count, 20).End(xlUp).Row

    For i = lastRowNumberDDH To 0 Step -1
       For j = lastRowNumber To 0 Step -1
         second = Cells(j, 4).Value
          first = Cells(i, 20).Value
          If first = second Then
          'Call something
          Worksheets("Shape Point Info").Range("J14").Value = "Yes"
        Else:
        End If
       Next j
    Next i

        End With
End Sub

Мои ошибки находятся в строке 17 и 18 моего кода:

second = Cells(j, 4).Value first = Cells(i, 20).Value

, и я получаю сообщение «Ошибка времени выполнения 1004: ошибка приложения или объекта»

Спасибо!

1 Ответ

0 голосов
/ 02 июля 2019

Ячейки, строки, столбцы и почти все коллекции и элементы в VBA * индексируются .Поэтому вы не можете получить доступ к строкам (0), и это проблема вашего кода.Вы должны изменить свои For строки следующим образом:

For i = lastRowNumberDDH To 1 Step -1
   For j = lastRowNumber 1 Step -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...