Несоответствие типов в моей кодировке при выполнении функции do while - PullRequest
0 голосов
/ 09 апреля 2019

Я получаю несоответствие типов в своем коде, но не знаю, в чем проблема. Я думаю, что это связано с таблицей переделок, но я просто не уверен. Я делаю что-то неправильно? Я новичок в Excel VBA, поэтому я не знаю

Sub ending_test()

Z = 3
Do While Not IsEmpty(Worksheets("Raw Data").Cells(Z, 2))
  y = 4
  Do While Not IsEmpty(Worksheets("Rework").Cells(y, 1))
    If Worksheets("Raw Data").Cells(Z, 2) = Worksheets("Rework").Cells(y, 3) And
       Worksheets("Raw Data").Cells(Z, 3) = Worksheets("Rework").Cells(y, 4) And
       Worksheets("Raw Data").Cells(Z, 4) = Worksheets("Rework").Cells(y, 6) 
    Then
      Worksheets("Rework").Cells(y, 12).ClearContents
      Worksheets("Rework").Cells(y, 12) = Worksheets("Raw data").Cells(2, 7)
    End If
    y = y + 1
  Loop

  Z = Z + 1
Loop
End Sub

1 Ответ

0 голосов
/ 10 апреля 2019

Всякий раз, когда вы разделяете команду на отдельные строки, вы должны указать ее, поставив "_" в конце строки.Не уверен, что именно это и является причиной ошибки ...

Так что для вашего оператора if это выглядело бы как

If Worksheets("Raw Data").Cells(Z, 2) = Worksheets("Rework").Cells(y, 3) _
And Worksheets("Raw Data").Cells(Z, 3) = Worksheets("Rework").Cells(y, 4) _
And Worksheets("Raw Data").Cells(Z, 4) = Worksheets("Rework").Cells(y, 6) _
Then

Если вы предоставите пример данных, это будет здорово.

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