Vba: 使用されている列の数を数える方法
VBA を使用して Excel シートで使用される列の数をカウントするには、次の基本構文を使用できます。
SubCountColumns ()
Range(" A10 ") = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
End Sub
この特定の例では、 Sheet1というシートで使用されている列の数をカウントし、結果をセルA10に表示します。
代わりにメッセージ ボックスの列数を表示したい場合は、次の構文を使用できます。
SubCountColumns ()
Dim LastCol As Long
LastCol = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox " Column Count: " & LastCol
End Sub
次の例は、さまざまなバスケットボール選手に関する情報が含まれる Excel の次のデータセットを使用して、これらの各メソッドを実際に使用する方法を示しています。
例 1: VBA で使用される列をカウントし、結果をセルに表示する
使用されている列の数をカウントし、その結果を特定のセルに表示したいとします。
これを行うには、次のマクロを作成できます。
SubCountColumns ()
Range(" A10 ") = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
End Sub
このマクロを実行すると、次の出力が表示されます。
セルA10に値4 が含まれていることに注目してください。
これは、4 つの列が使用されていることを示しています。
例 2: VBA で使用された列をカウントし、結果をメッセージ ボックスに表示する
代わりに、使用されている列の数をカウントし、結果をメッセージ ボックスに表示したいとします。
これを行うには、次のマクロを作成できます。
SubCountColumns ()
Dim LastCol As Long
LastCol = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox " Column Count: " & LastCol
End Sub
このマクロを実行すると、次の出力が表示されます。
メッセージ ボックスには、 4 つの列が使用されていることが示されています。
注: 空の列の後にデータが含まれる列がある場合、VBA は計算で空の列を「使用済み」としてカウントします。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: ワークブック内のシート数を数える方法
VBA: 範囲内の行数をカウントする方法
VBA: 特定のテキストを含むセルを数える方法