End If
находится не в том месте. Правильный отступ вашего кода покажет это. Прямо сейчас ваш цикл находится внутри If...End If
, и вы выходите, прежде чем нажать на цикл.
If .Cells(.Rows.Count, "A").End(xlUp).Row = 0 Then
MsgBox "The spreadsheet doesn't work"
GoTo ExitHere
End If ' Move the End If here.
Кроме того, нет строки 0. Ваше условие никогда не может быть истинным.
.Cells(.Rows.Count, "A").End(xlUp).Row = 0
Кроме того, это проблематично:
Set Rng = .Range(LastRow).Offset(n, 0)
LastRow
не является действительной ссылкой Range
. Кроме того, если вы Offset
из одной ячейки, результат все равно будет одна ячейка, поэтому вы не будете проходить через несколько ячеек.
И это также проблематично:
.Range("A1").Offset(n, 8) = c.ClearContents
ClearContents
ничего не возвращает и не должно совпадать с =
.
Короче, я бы посоветовал разбить это на более мелкие части, которые вы можетеначать работать самостоятельно.