Определение целого числа для последней строки в столбце - PullRequest
0 голосов
/ 04 декабря 2018

Я получаю ошибку времени выполнения '1004': ошибка приложения или объекта в следующем коде (где я определяю lr), и я не могу решить эту проблему на всю жизнь.

Целью кода является поиск соответствующего описания проекта в столбце, определенном как «ProjectDescriptionColumn», и возврат кода проекта, который находится в ячейке той же строки, но в столбце, определенном как «ProjectCodeColumn»

Любая помощь с благодарностью.

Dim ProjectDescriptionColumn As Long
Dim ProjectCodeColumn As Long

With Sheets("Completed")
If Cells(LastRowInL, "M").Value = "Engine Ancillaries" Then ProjectDescriptionColumn = 8 And ProjectCodeColumn = 9
End With

Dim lr As Integer
Dim i As Integer

lr = Sheets("VBA_Data").Cells(1, ProjectDescriptionColumn).End(xlDown).Row '<<<Run-time error here>>>

For i = 1 To lr

If UCase(Range(Sheets("Completed").Cells(LastRowInL, "B")).Value) = UCase(Sheets("VBA_Data").Cells(i, ProjectDescriptionColumn).Value) Then
Range(Sheets("Completed").Cells(LastRowInL, "N")).Value = Sheets("VBA_Data").Cells(i, ProjectCodeColumn).Value
End If
Next i

1 Ответ

0 голосов
/ 06 декабря 2018

Если оператор If не соответствует действительности, переменные столбца никогда не устанавливаются.Для меня это создает ошибку индекса, а не 1004. Но ошибка времени выполнения, безусловно, связана со значениями, включенными в оператор в то время.Можете ли вы пройти код до этой точки и проверить значение ProjectDescriptionColumn?

...