L oop работает только когда я на листе, я использую VBA - PullRequest
0 голосов
/ 20 апреля 2020

извините за вопрос ладьи ie - я только начинаю на VBA.

У меня есть приведенный ниже код, который работает только тогда, когда я на самом деле на листе, называемом «детали позиции». рабочая книга имеет несколько рабочих листов, но код не работает, если я нахожусь на любом другом листе. я не уверен на 100%, почему, пытаясь ссылаться на лист, я хочу, чтобы код выполнялся несколькими способами. я думаю, что это застревает в строке, которую я выделил жирным шрифтом ниже.

Я хотел бы иметь возможность запускать код с любого листа, если это возможно.

любая помощь очень ценится .

Dim LastRow As Long

LastRow = Range("AB" & Rows.Count).End(xlUp).Row

Worksheets("Position detail").Columns("p").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Worksheets(2).Columns("w:aa").EntireColumn.Hidden = False
Worksheets(2).Range("AA:AA").EntireColumn.Insert

Worksheets("Position detail").Range("aa2").FormulaR1C1 = "=IF(RC[-3]=RC[-1],""BAD"",""GOOD"")"
**Worksheets("Position detail").Range("AA2:AA" & LastRow).FillDown**

Dim CTH As Range

For Each CTH In Worksheets(2).Range(Range("AA2"), Range("AA2").End(xlDown))
If CTH = "GOOD" Then CTH.Interior.Color = vbGreen Else CTH.Interior.Color = vbRed

Next CTH
...