Як використовувати для кожного наступного циклу з колекціями в VBA Excel 2016

VBA підтримує ще один тип циклу в Excel 2016: циклічний перебір кожного об’єкта в колекції об’єктів. Колекція, як вам відомо, складається з кількох об’єктів одного типу. Наприклад, Excel містить колекцію всіх відкритих книг (колекція Workbooks), а кожна робоча книга має колекцію аркушів (колекція Worksheets).

Коли вам потрібно перебирати кожен об’єкт у колекції, використовуйте структуру For Every-Next. У наведеному нижче прикладі відбувається циклічний цикл по кожному робочому аркушу в активній книзі та видаляється аркуш, якщо він порожній:

Sub DeleteEmptySheets()
  Dim WkSht як робочий аркуш
  Application.DisplayAlerts = False
  Для кожного WkSht в ActiveWorkbook.Worksheets
    Якщо WorksheetFunction.CountA(WkSht.Cells) = 0, то
      WkSht.Delete
    Кінець Якщо
  Наступний WkSht
  Application.DisplayAlerts = True
Кінець суб

У цьому прикладі змінна WkSht є змінною об’єкта, яка представляє кожен аркуш у книзі. Нічого особливого в імені змінної WkSht немає; ви можете використовувати будь-яке ім'я змінної, яке вам подобається.

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

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

Ось ще один приклад для кожного наступного. Ця процедура використовує цикл, щоб приховати всі аркуші в активній книзі, крім активного аркуша.

Додаткові HideSheets()
  Dim Sht As Worksheet
  Для кожного шт в ActiveWorkbook.Worksheets
    Якщо Sht.Name <> ActiveSheet.Name Тоді
      Sht.Visible = xlSheetHidden
    Кінець Якщо
  Наступний Шт
Кінець суб

Процедура HideSheets перевіряє назву аркуша. Якщо воно не збігається з назвою активного аркуша, аркуш приховано. Зверніть увагу, що властивість Visible не є булевим. Ця властивість насправді може приймати будь-яке з трьох значень, а Excel надає три вбудовані константи. Якщо вас цікавить третя можливість (xlVeryHidden), перевірте довідкову систему.

Те, що стає прихованим, в кінцевому підсумку має стати розкритим, тому ось макрос, який показує всі аркуші в активній книзі:

Підпоказати аркуші()
  Dim Sht As Worksheet
  Для кожного шт в ActiveWorkbook.Worksheets
    Sht.Visible = xlSheetVisible
  Наступний Шт
Кінець суб

Не дивно, що ви можете створювати вкладені цикли For Every-Next. Процедура CountBold перебирає кожну клітинку у використовуваному діапазоні на кожному робочому аркуші в кожній відкритій книзі та відображає кількість клітинок, відформатованих жирним шрифтом:

Підрахунок жирним шрифтом ()
  Темна книга як робочий зошит
  Потьмарити WSheet як робочий аркуш
  Яскрава комірка як діапазон
  Dim Cnt As Long
  Для кожної книги в робочих зошитах
    Для кожного WSheet в WBook.Worksheets
      Для кожної комірки в WSheet.UsedRange
        Якщо Cell.Font.Bold = True, тоді Cnt = Cnt + 1
      Наступна клітинка
    Наступний WSheet
  Наступна книга
  MsgBox Cnt & « знайдено жирні клітинки»
Кінець суб

Leave a Comment

Як спілкуватися в чаті в Outlook Web App

Як спілкуватися в чаті в Outlook Web App

Досліджуйте, як ефективно спілкуватися в чаті з колегами в Outlook Web App. Дізнайтеся про покрокову інструкцію та нові можливості для підвищення продуктивності.

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows. Microsoft Word відкриває файли в режимі лише для читання, що робить неможливим їх редагування? Не хвилюйтеся, методи наведено нижче

Як виправити неправильний друк документів Microsoft Word

Як виправити неправильний друк документів Microsoft Word

Як виправити помилки під час друку неправильних документів Microsoft Word Помилки під час друку документів Word зі зміненими шрифтами, безладними абзацами, відсутнім текстом або втраченим вмістом є досить поширеними. Однак не варто

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Якщо ви використовували перо або маркер для малювання на слайдах PowerPoint під час презентації, ви можете зберегти малюнки для наступної презентації або стерти їх, щоб наступного разу, коли ви показуватимете їх, розпочали з чистих слайдів PowerPoint. Дотримуйтесь цих інструкцій, щоб стерти малюнки пером і маркером: Стирання рядків на одній з […]

Вміст бібліотеки стилів у SharePoint 2010

Вміст бібліотеки стилів у SharePoint 2010

Бібліотека стилів містить файли CSS, файли мови розширюваної мови таблиць стилів (XSL) та зображення, які використовуються попередньо визначеними основними сторінками, макетами сторінок та елементами керування в SharePoint 2010. Щоб знайти файли CSS у бібліотеці стилів сайту видавництва: виберіть «Дії сайту»→ «Перегляд». Весь вміст сайту. З’являється вміст сайту. Бібліотека Style знаходиться в […]

Форматуйте числа в тисячах і мільйонах у звітах Excel

Форматуйте числа в тисячах і мільйонах у звітах Excel

Не перевантажуйте аудиторію гігантськими цифрами. У Microsoft Excel ви можете покращити читабельність своїх інформаційних панелей і звітів, відформатувавши числа, щоб вони відображалися в тисячах або мільйонах.

Як ділитися сайтами SharePoint і слідкувати за ними

Як ділитися сайтами SharePoint і слідкувати за ними

Дізнайтеся, як використовувати інструменти соціальних мереж SharePoint, які дозволяють особам і групам спілкуватися, співпрацювати, обмінюватися інформацією та спілкуватися.

Як перетворити дати в юліанські формати в Excel

Як перетворити дати в юліанські формати в Excel

Юліанські дати часто використовуються у виробничих середовищах як мітка часу та швидкий довідник для номера партії. Цей тип кодування дати дозволяє роздрібним продавцям, споживачам та агентам з обслуговування визначити, коли був виготовлений продукт, а отже, і вік продукту. Юліанські дати також використовуються в програмуванні, військовій справі та астрономії. Інший […]

Як створити веб-програму Access

Як створити веб-програму Access

Ви можете створити веб-програму в Access 2016. Так що ж таке веб-програма? Ну, веб означає, що він онлайн, а додаток — це просто скорочення від «додаток». Користувацька веб-програма — це онлайн-додаток для баз даних, доступ до якого здійснюється з хмари за допомогою браузера. Ви створюєте та підтримуєте веб-програму у настільній версії […]

Панель швидкого запуску в SharePoint 2010

Панель швидкого запуску в SharePoint 2010

Більшість сторінок у SharePoint 2010 відображають список посилань навігації на панелі швидкого запуску ліворуч. Панель швидкого запуску відображає посилання на пропонований вміст сайту, наприклад списки, бібліотеки, сайти та сторінки публікації. Панель швидкого запуску містить два дуже важливі посилання: Посилання на весь вміст сайту: […]