Ефективне використання VBA в Excel для пошуку робочих книг за частковою назвою

Ефективне використання VBA в Excel для пошуку робочих книг за частковою назвою

3 Березня 2024 в 20:35 25

У сучасному світі обробка даних та автоматизація рутинних операцій у програмі Excel є необхідними для багатьох бізнес-процесів. Один із потужних інструментів, які можуть бути використані для цієї мети, – це мова програмування VBA (Visual Basic for Applications). Вона дозволяє створювати макроси та автоматизовані скрипти для виконання різних завдань в Excel.

Однією з типових задач є пошук робочих книг за частковою назвою. Наприклад, може виникнути ситуація, коли потрібно посилатися на зовнішню робочу книгу, яка має змінну, а не статичну назву. У такому випадку, зазвичай, назва робочої книги містить певний шаблон, але не є повністю відомою. Наприклад, робочі книги можуть створюватися за замовчуванням з назвами Book1, Book2 і так далі. В такій ситуації потрібно розробити механізм, який дозволить знаходити робочу книгу за частковою назвою і працювати з нею в коді VBA.

Одним із способів вирішення цього завдання є використання можливостей мови програмування VBA для перебору всіх відкритих робочих книг та перевірки, чи відповідає їхня назва певному шаблону. Зазвичай цей шаблон – це початкова частина назви, яку має мати робоча книга. Для досягнення цієї мети можна використовувати оператор Like, який дозволяє порівнювати рядки за шаблоном.

У цьому фрагменті коду змінна wbName містить шаблон для назви робочої книги, у нашому випадку це “Book”. Потім використовується цикл For Each для перебору всіх робочих книг, що відкриті в даний момент. За допомогою умовного оператора If порівнюється назва кожної робочої книги з встановленим шаблоном. Якщо назва відповідає шаблону, то змінній mwkt присвоюється ця робоча книга, і цикл завершується за допомогою оператора Exit For.

Однак важливо врахувати, що у деяких випадках може виникнути помилка “Type mismatch”, яка виникає, коли тип даних не відповідає очікуваному. Це може трапитися, наприклад, коли намагаєтеся присвоїти рядок змінній, яка має тип Workbook.

Щоб уникнути цієї помилки, потрібно змінити рядок коду наступним чином:

Це дозволить просто присвоїти змінній mwkt поточну робочу книгу, яка відповідає шаблону.

Отже, використання мови програмування VBA в Excel дозволяє ефективно вирішувати завдання пошуку робочих книг за частковою назвою. Зазначений підхід дозволяє автоматизувати процес пошуку та роботу з робочими книгами в коді VBA, що значно полегшує роботу з даними в Excel.