Как считать листы с помощью vba?
В Excel, если у вас много листов, вы можете использовать код VBA для их быстрого подсчета вместо того, чтобы считать вручную или использовать какую-либо формулу. Итак, в статье мы увидим разные способы подсчета листов рабочей тетради.
Подсчет листов в активной книге
Вот код, который вам нужно использовать для подсчета активного листа книги.

ThisWorkbook.Sheets.Count
В этом коде сначала вы ссылаетесь на активную книгу с помощью «ThisWorkbook» и обращаетесь ко всем листам, а в конце используете метод count для подсчета всех листов. А если вы хотите подсчитывать листы вместо листов, используйте следующий код.
ThisWorkbook.Worksheets.Count
Полезные ссылки: Запуск макроса – Средство записи макросов – Редактор Visual Basic – Персональный справочник по макросам
Посчитать листы из другой книги
Вы можете использовать имя книги, чтобы обратиться к ней, а затем подсчитать листы в ней. Предположим, вы хотите посчитать листы в книге «Книга1».
Вот код.
Workbooks("sample-file.xlsx").Sheets.Count
Этот код дает вам количество листов в книге «sample-file.xlsx». Есть одна вещь, которую вам нужно взять: эта папка должна быть открыта.
Подсчитайте листы всех открытых папок.
Вы можете одновременно открыть несколько книг и подсчитать все листы во всех этих книгах.
Sub vba_loop_all_sheets() Dim wb As Workbook Dim i As Long For Each wb In Application.Workbooks If wb.Name <> "PERSONAL.XLSB" Then i = i + wb.Sheets.Count End If Next wb MsgBox "Total sheets in all the open workbooks: " & i End Sub
Подсчет листов закрытого переплета
Теперь у нас есть код, который ссылается на книгу, сохраненную на рабочем столе моей системы. Когда я запускаю этот код, он открывает книгу сзади и подсчитывает листы в ней, а затем добавляет это количество в ячейку A1.
Sub vba_count_sheets() Dim wb As Workbook Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") ThisWorkbook.Sheets(1).Range("A1").Value _ = wb.Sheets.Count wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub
Мы отключили отображение предупреждений об открытии и закрытии файла на серверной стороне.