Книга: Excel. Трюки и эффекты
Проверка существования листа
Проверка существования листа
При большом количестве листов в рабочей книге иногда бывает необходимо быстро узнать, есть ли в ней тот или иной лист. Для этого целесообразно применить пользовательскую функцию dhSheetExist, код которой приводится в листинге 2.12. В качестве аргумента данная функция принимает строку с именем искомого листа и возвращает значение ИСТИНА, если лист есть в книге, или ЛОЖЬ, если листа в книге нет.
Листинг 2.12. Проверка существования листа
Function dhSheetExist(strSheetName As String) As Boolean
Dim objSheet As Object
On Error GoTo HandleError ' При ошибке перейти на HandleError
' Пытаемся получить ссылку на заданный лист
Set objSheet = ActiveWorkbook.Sheets(strSheetName)
' Ошибки не возникло – лист существует
dhSheetExist = True
Exit Function
HandleError:
' При попытке получить доступ к листу с заданным именем _
возникла ошибка, значит, такого листа не существует
dhSheetExist = False
End Function
Работа приведенной функции основана на том, что если листа в книге нет, то при попытке обращения к нему (инструкция ActiveWorkbook. Sheets (strSheetName)) будет сгенерирована ошибка времени исполнения, которую перехватит обработчик ошибок, идущий в тексте программы после метки HandleError. Таким образом, при возникновении ошибки функция возвращает значение ЛОЖЬ. Если ошибка отсутствует, то при обращении к листу инструкции функции исполняются до конца (до оператора End Function) и функция возвращает значение ИСТИНА.
После написания данной функции она появится в окне Мастер функций (Формулы ? Вставить функцию) в категории Определенные пользователем. После выбора функции нужно будет указать имя листа (это единственный аргумент данной функции), наличие которого в текущей книге нужно проверить. Результат выполнения функции отобразится в ячейке, в которой находится курсор: если указанный лист присутствует в текущей книге, то будет выведено значение ИСТИНА, при отсутствии листа – значение ЛОЖЬ.
- Листы-синонимы
- Автоматическая вставка URL-адреса
- Быстрый переход по рабочему листу
- Разные листы с общими данными
- Рисование «правильных» фигур
- Скрытие данных от посторонних
- Блокировка использования контекстного меню
- Вставка колонтитула с именем книги, листа и текущей датой
- Проверка существования листа
- Проверка, защищен ли рабочий лист
- Сколько страниц на всех листах?
- Автоматический пересчет данных таблицы при изменении ее значений
- 5. Null-значения и проверка условий
- Почему во время просмотра сайтов в Internet Explorer при прокрутке колесиком мыши страницу как бы листает волнами, а не ...
- 12.1. Автоматизированная проверка безопасности
- 12.3. Проверка конфигурации
- Проверка, что сервер Firebird запущен
- Проверка на вирусы с помощью сканера Dr.Web
- Проверка правописания
- Проверка и ремонт
- Урок 6.2. Работа с ячейками, диапазонами и листами
- Управление рабочими листами
- Практическая работа 43. Операции с ячейками, диапазонами и листами
- Проверка диска на наличие ошибок