Vba: як перевірити, чи існує аркуш (з прикладом)


Ви можете створити таку функцію у VBA, щоб перевірити, чи існує певний аркуш у поточній активній книзі Excel:

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Ця функція поверне TRUE або FALSE , щоб вказати, чи існує певне ім’я аркуша в поточній активній книзі Excel.

Зауважте, що ця функція просто перевіряє, чи є індекс аркуша більшим за 0.

Якщо аркуш існує, номер індексу аркуша матиме значення принаймні 1 , у результаті чого функція повертатиме значення TRUE .

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використовуйте VBA, щоб перевірити, чи існує аркуш

Припустімо, що у нас є така книга Excel із трьома аркушами:

Ми можемо створити таку функцію у VBA, щоб перевірити, чи існує певне ім’я аркуша в цій книзі:

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Потім ми можемо ввести таку формулу в комірку A1 поточного активного аркуша, щоб перевірити, чи існує в цій книзі ім’я аркуша «Команди»:

 =sheetExists("Teams")

На наступному знімку екрана показано, як використовувати цю формулу на практиці:

Функція повертає TRUE , оскільки ця назва аркуша існує в книзі.

Також зауважте, що ця функція не чутлива до регістру.

Наприклад, якщо ми перевіримо, чи існує ім’я аркуша «teams», тоді функція також поверне TRUE :

Однак припустімо, що ми перевіряємо, чи існує назва аркуша «coaches»:

Функція повертає FALSE , оскільки ця назва аркуша не існує в книзі.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: Як підрахувати кількість аркушів у робочій книзі
VBA: як отримати дані з іншої книги
VBA: як вставити кілька рядків

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *