У меня есть код, который открывает файл Excel и берёт данные из активного листа.
В некоторых случаях активный лист не тот, который нужно, и макрос берёт данные не из того листа.
Какой код делает нужный лист активным? Имя нужного листа "Часы". Макрос должен брать данные из листа "Часы".
Сделать лист активным можно так:
Sub Макрос()
Worksheets("Часы").Select
End Sub
Но в большинстве случаев нет необходимости переходить на нужный лист. Можно извлекать данные и из неактивного листа. Например, этот макрос берёт данные из листа "Часы" без перехода на него.
Макрос
Sub Макрос()
Dim ЛистЧасы As Worksheet
' Создание ссылки на лист.
Set ЛистЧасы = Worksheets("Часы")
' Извлечение значения из листа "Часы", из ячейки A1.
' Результат выводится в View - Immediate Window.
Debug.Print ЛистЧасы.Range("A1").Value
End Sub
спасибо