Перевірте, чи функціонує аркуш та/або діапазон

Перевірте, чи існує аркуш

Ми створили функцію, яка перевірятиме наявність аркуша чи діапазону (на певному аркуші). Перевірка діапазону корисна, якщо ви хочете перевірити, чи існує певний іменований діапазон на аркуші.

123456789101112 'Перевірте, чи діапазон існує на аркуші.'Залиште діапазон порожнім, щоб перевірити наявність листа'Входи:'WhatSheet - Назва рядка аркуша (колишній "Sheet1")'WhatRange (необов’язково, за замовчуванням = "A1") - Назва рядка діапазону (наприклад, "A1")Функція RangeExists (WhatSheet As String, Optional ByVal WhatRange As String = "A1") Як булеве значенняТест затемнення як діапазонУвімкнути Помилка Відновити ДаліВстановити тест = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Помилка Перейти до 0Функція завершення

Розмістіть функцію в модулі коду VBA, і ви зможете отримати до неї доступ, скориставшись такими підпроцедурами:

Перевірте, чи існує аркуш

123 Sub Test_SheetExists ()MsgBox RangeExists ("налаштування")End Sub

Перевірте, чи діапазон існує на аркуші

123 Sub Test_RangeExists ()MsgBox RangeExists ("setup", "rngInput")End Sub

Налаштування функції RangeExists

Перевірте, чи аркуш існує в іншій книзі

Вищезазначена функція розглянула ActiveWorkbook (наразі активну книгу). Замість цього ви можете налаштувати функцію, щоб подивитися на певну книгу так:

12345678910111213 'Перевірте, чи діапазон існує на аркуші.'Залиште діапазон порожнім, щоб перевірити наявність листа'Входи:'WhatBook - *Об'єкт робочої книги *'WhatSheet - Назва рядка аркуша (колишній "Sheet1")'WhatRange (необов’язково, за замовчуванням = "A1") - Назва рядка діапазону (наприклад, "A1")Функція RangeExists (WhatBook As Workbook, WhatSheet As String, Optional ByVal WhatRange As String = "A1") Як булеве значенняТест затемнення як діапазонУвімкнути Помилка Відновити ДаліВстановити тест = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Помилка Перейти до 0Функція завершення

Реалізація:

1234567 Sub Test_WBSheet_Exists ()Dim wb Як робочий зошитВстановити wb = ActiveWorkbookMsgBox RangeExists (wb, "Sheet1")End Sub
wave wave wave wave wave