1. ホーム
  2. vba

[解決済み] VBAを使用してExcelシートの空白でない列の数を求めることができます。

2022-03-07 11:29:07

質問

VBAを使用してExcelシートの使用列数を求めるには?

Dim lastRow As Long
lastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
MsgBox lastRow

上記のVBAを使用すると、行の数を求めることができます。しかし、与えられたエクセルファイルの列の数を見つけるにはどうしたらいいでしょうか?

どのように解決するのですか?

例のコードは、現在の列の最後の空白でないセルの行番号を取得するもので、次のように書き換えることができます。

Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow

そして、現在の行の最後の空白でないセルの列番号を取得する同等のコードは、次のようになることが容易に理解できます。

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn

こちらもご参考にしてください。

With Sheet1.UsedRange
    MsgBox .Rows.Count & " rows and " & .Columns.Count & " columns"
End With

ただし、A列や1行が空白の場合、上記の他の例と同じ結果にはならないことに注意してください。詳しくは UsedRange プロパティを使用します。