Ниже мы рассмотрим программу в Excel VBA, которая перебирает все открытые рабочие книги и рабочие листы, и отображает все имена.

Ситуация:

Loop through Books and Sheets Example

Добавьте следующие строки кода к командной кнопке:

  1. Во-первых, мы объявляем два объекта и одну переменную. Один объект типа Workbook мы называем книгу, один объект типа Worksheet мы называем лист, и переменную типа String, мы называем текст.

Dim book As Workbook, sheet As Worksheet, text As String
  1. Мы хотим, чтобы перебрать все открытые рабочие книги. Для достижения этой цели, добавьте следующую строку кода:

For Each book In Workbooks
  1. Пишет текст «Workbook:», название книги, и текст «Worksheets:„“к тексту переменной

text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine
  1. Примечание: вы можете использовать и оператор для конкатенации (присоединиться) элементы Чтобы начать новую строку, вы можете использовать vbNewLine

    1. Для перебора всех рабочих листов рабочей книги, добавьте следующую строку коды:..

For Each sheet In book.Worksheets

5 . Мы пишем имена рабочих листов рабочей книги переменного текст.

text = text & sheet.Name & vbNewLine
  1. Закройте второй цикл.

Next sheet
  1. Добавьте белую линию.

text = text & vbNewLine
  1. не забудьте закрыть первую петлю.

Next book
  1. Наконец, мы выводим текст переменной с помощью MsgBox.

.

MsgBox text
  1. Тестирование программы Перед тем, как нажать на кнопку команды, дать свои рабочие листы некоторые описательные имена и открыть пустую книгу с тремя листами

Результат:.

Loop through Books and Sheets in Excel VBA