Excel VBA Макросы. Run-time error '13': Type mismatch при обращении к листу.

Автор Посетитель, 24 октября 2022, 14:44

Посетитель

С помощью этого кода хочу узнать имя листа, но происходит ошибка: Run-time error '13': Type mismatch.
Почему происходит ошибка?

Sub Macro()
    ' Вывод информации в View - Immediate Window.
    Debug.Print Worksheets(Лист1).Name
End Sub

Администратор

Для объекта Worksheets в скобках можно указывать:

1) имя листа. Имя листа можно посмотреть в Экселе на ярлыке листа. Имя листа нужно заключить в кавычки:
Debug.Print Worksheets("Лист1").Name

2) порядковый номер листа. В этом случае кавычки не нужны:
Debug.Print Worksheets(1).Name

В вашем коде передаётся vba-модуль листа. Модули листов можно посмотреть в VBA, в области "Project", перед скобками.
Вы передаёте vba-модуль. Так как это недопустимый вид данных для объекта Worksheets, то VBA сообщает, что тип данных не соответствует.