/ / Excel VBAでブックとシートをループする

Excel VBAでブックとシートをループする

以下では、 Excel VBA それ 開いているすべてのワークブックとワークシートをループするすべての名前を表示します。

状況:

Loop through Books and Sheetsの例

コマンドボタンに次のコード行を追加します。

1.まず、2つのオブジェクトと1つの変数を宣言します。 Bookと呼ばれるタイプのワークブックの1つのオブジェクト、Sheetと呼ばれるワークシート型の1つのオブジェクト、およびStringというタイプの変数をテキストと呼びます。

Dim book As Workbook, sheet As Worksheet, text As String

2.開いているすべてのワークブックをループしたい。これを実現するには、次のコード行を追加します。

For Each book In Workbooks

3.テキスト "Workbook:"、ワークブックの名前、およびテキスト "Worksheets:" "を可変テキストに書き込みます。

text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine

注:&演算子を使用して要素を連結(結合)できます。新しい行を開始するには、vbNewLineを使用します。

4.ブックのすべてのワークシートをループするには、次のコード行を追加します。

For Each sheet In book.Worksheets

5.変数テキストにワークブックのワークシートの名前を書きます。

text = text & sheet.Name & vbNewLine

6. 2番目のループを閉じます。

Next sheet

7.白い線を追加します。

text = text & vbNewLine

8.最初のループを閉じるのを忘れないでください。

Next book

9.最後に、MsgBoxを使用して変数テキストを表示します。

MsgBox text

10.プログラムをテストします。コマンドボタンをクリックする前に、ワークシートにわかりやすい名前を付けて、別の空のブックを開きます。

結果:

Excel VBAでブックとシートをループする

また読む: