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: як вставити кілька рядків