Vba: як підрахувати кількість аркушів у робочій книзі
Ви можете використовувати такі методи, щоб підрахувати кількість аркушів у книзі в Excel:
Спосіб 1: підрахуйте кількість аркушів в активній робочій книзі
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Спосіб 2: підрахувати кількість аркушів у відкритій робочій книжці
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Спосіб 3: підрахувати кількість аркушів у закритій швидкозшивачі
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Наступні приклади показують, як використовувати кожен із цих методів на практиці.
Приклад 1: підрахуйте кількість аркушів в активній робочій книзі
Припустімо, у нас відкрита така книга Excel, і ми її переглядаємо:
Ми можемо використати наступний макрос, щоб підрахувати загальну кількість аркушів у цій робочій книзі та відобразити число в клітинці A1:
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що клітинка A1 містить значення 6 .
Це говорить нам про те, що в цьому зошиті 6 аркушів.
Приклад 2: підрахувати кількість аркушів у відкритій підшивці
Припустімо, у нас є книга Excel під назвою my_data.xlsx із двома відкритими аркушами, але ми її зараз не переглядаємо.
Ми можемо використати наступний макрос, щоб підрахувати загальну кількість аркушів у цій книзі та відобразити число в клітинці A1 активної книги:
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що клітинка A1 містить значення 2 .
Це говорить нам про те, що у відкритій книзі є 2 аркуші під назвою my_data.xlsx .
Приклад 3: Підрахунок кількості аркушів у закритій швидкозшивачі
Припустімо, у нас є робоча книга Excel під назвою my_data.xlsx із двома аркушами, які зараз не відкриті, але розташовані в такому розташуванні файлу:
C:\Users\Bob\Desktop\my_data.xlsx
Ми можемо використати наступний макрос, щоб підрахувати загальну кількість аркушів у цій книзі та відобразити число в комірці A1 першого аркуша активної книги:
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що клітинка A1 містить значення 2 .
Це говорить нам про те, що в закритій робочій книзі є 2 аркуші під назвою my_data.xlsx .
Примітка : у коді Application.DisplayAlerts=False повідомляє VBA не відображати процес відкриття закритої книги, підрахунку аркушів і закриття книги.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як підрахувати кількість рядків у діапазоні
VBA: як підрахувати клітинки з певним текстом
VBA: як написати функції COUNTIF і COUNTIFS