Как считать листы с помощью 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

Мы отключили отображение предупреждений об открытии и закрытии файла на серверной стороне.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *