Следующая подпроцедура VBA идентифицирует имена рабочих листов в активной рабочей книге, которые содержат значение больше 0 в ячейке E532. Имена рабочих листов будут выведены в окно «Немедленно». Кроме того, цвет вкладки рабочего листа будет изменен на желтый.
Sub ListWorksheets()
For Each ws In Worksheets
TestValue = ws.Range("E532").Value
If (TestValue > 0) Then
Debug.Print ws.Name
ws.Tab.ColorIndex = 6
End If
Next ws
End Sub
Чтобы создать список рабочих листов, соответствующих критериям, создайте новый рабочий лист и запустите следующий макрос. Список рабочих листов будет выводиться, начиная с ячейки, которая активна при запуске макроса.
Sub ListWorksheetsAtActiveColumn()
'Defines the row offset of the current cell to list the worksheets
Dim RowNumber As Long
RowNumber = 0
For Each ws In Worksheets
TestValue = ws.Range("E532").Value
If (TestValue > 0) Then
Debug.Print ws.Name
'Changes the color of the worksheet tab to yellow
ws.Tab.ColorIndex = 6
'Creates a list of worksheet names that meet the test starting
'at the current cell
ActiveCell.Offset(RowNumber, 0).Value = ws.Name
RowNumber = RowNumber + 1
End If
Next ws
End Sub