Vbaを使用してシートをカウントするにはどうすればよいですか?

Excel では、多数のシートがある場合、手動で数を数えたり数式を使用したりする代わりに、VBA コードを使用してシートをすばやく数えることができます。したがって、この記事では、ワークブックのシートを数えるさまざまな方法を見ていきます。

アクティブなワークブック内のシートを数える

アクティブなワークブック シートをカウントするために使用する必要があるコードは次のとおりです。

アクティブバインダーのシートを数えます
 ThisWorkbook.Sheets.Count

このコードでは、まず「ThisWorkbook」でアクティブなワークブックを参照し、すべてのシートを参照し、最後にcountメソッドですべてのシートをカウントしています。シートではなくワークシートをカウントしたい場合は、次のコードを使用します。

 ThisWorkbook.Worksheets.Count

役立つリンク:マクロの実行マクロ レコーダー– Visual Basic Editor –パーソナル マクロ ハンドブック

別のワークブックのシートを数える

ワークブックの名前を使用してそれを参照し、その中のシートをカウントすることができます。 「Book1」ワークブック内のシートをカウントするとします。

コードは次のとおりです。

 Workbooks("sample-file.xlsx").Sheets.Count

このコードにより、「sample-file.xlsx」ワークブック内にあるシートの数がわかります。このバインダーを開くには、必要なものが 1 つあります。

開いているすべてのバインダーのシートを数える

複数のワークブックを同時に開くことができ、これらすべてのワークブック内のすべてのシートをカウントできます。

 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

バックエンドでのファイルの開閉に関するアラートの表示を無効にしました。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です