Я новичок в VBA и столкнулся с этой проблемой при попытке цикла For Each. Я довольно долго обволакивал это и не мог найти ответы на этот форум.Ошибка объекта при выполнении Для каждого цикла VBA
Я подозреваю, что это глупая ошибка, и я был бы очень признателен, если бы мог помочь. Заранее большое спасибо!
Sub AngleAndEComparison()
Dim rngAngle As Range
Dim Nrow As Integer
Dim n#, placeholder#
Nrow = 1
n = 0
Set rngAngle = Intersect(Columns(5), ActiveSheet.UsedRange)
' Set rngAngle = ActiveSheet.Columns(5)
For Each cell In rngAngle
If cell.Value <> "" Then
If Range("E" & Nrow).Value > 75 And Range("E" & Nrow).Value < 105 Then
placeholder = 1
If Range("G" & Nrow).Value >= 3 And placeholder = 1 Then
n = n + 1
cell.Interior.ColorIndex = 36
cell.Interior.ColorIndex = 36
placeholder = 0
End If
Nrow = Nrow + 1
End If
Next
ActiveSheet.Cells(5, 11).Value = n
ActiveSheet.Cells(5, 10).Value = "Elongated Cells within 15°:"
End Sub
В какой строке вы получаете сообщение об ошибке ..? –
Я получаю сообщение об ошибке в этой строке: Для каждой ячейки In rngAngle – user3766096
Я бы опробовал квалификацию всех диапазонов, например, в одном случае это 'ActiveSheet.Columns (5)', а в другом это просто 'Column5'. Кроме того, попробуйте создать переменную рабочего листа и установить ее в «ActiveSheet» в начале вашего кода. Таким образом, если другой лист активирован, ваш код все еще указывает на лист, на который ссылается переменная. –