Автор Тема: Excel VBA Макросы. Как сделать нужный лист активным?  (Прочитано 253 раз)

Оффлайн Few

  • Посетитель форума
  • Сообщений: 10
У меня есть код, который открывает файл Excel и берёт данные из активного листа.
В некоторых случаях активный лист не тот, который нужно, и макрос берёт данные не из того листа.
Какой код делает нужный лист активным? Имя нужного листа "Часы". Макрос должен брать данные из листа "Часы".

Оффлайн Администратор

  • Administrator
  • Сообщений: 2066
Сделать лист активным можно так:
Sub Макрос()
    Worksheets("Часы").Select
End Sub

Но в большинстве случаев нет необходимости переходить на нужный лист. Можно извлекать данные и из неактивного листа. Например, этот макрос берёт данные из листа "Часы" без перехода на него.

Макрос
Sub Макрос()

    Dim ЛистЧасы As Worksheet
   
    ' Создание ссылки на лист.
    Set ЛистЧасы = Worksheets("Часы")
   
    ' Извлечение значения из листа "Часы", из ячейки A1.
        ' Результат выводится в View - Immediate Window.
    Debug.Print ЛистЧасы.Range("A1").Value
   
End Sub

Оффлайн Few

  • Посетитель форума
  • Сообщений: 10
спасибо