合計行数

ワークシート内で使用されている行の総数を確認するにはどうすればよいですか?

Dim rows As Integer
rows = ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0).Rows.Count

私はすべての行をループすることができるように知っておく必要があります:

For row = 1 To rows
    ' Check if row contains pattern.
    match = ReFind(Range(row & ":" & row), "^.*([KA])|([KIC])|([KS])|([NA]).*$")

    If match <> "" Then
        Call CopyRow(row)
    End If
Next row
ベストアンサー

.Cells(.Rows.Count、 "A")。End(xlUp).Row
は、最後の行ではなく、特定の列で使用された最後の行を返します。どの細胞でも使用できます。


もう1つの方法は、 Sheet.UsedRange
を使用することですが、特定の制限に注意する必要があります。

.UsedRange returns a rectangular
region bounding all used cells, so it may not be anchoured at cell
A1. To get the row number of the bottom of the range
use

.UsedRange.Row + .UsedRange.Rows.Count - 1

行(または列)を削除すると、 .UsedRange
が更新されない可能性があります。

更新を強制することができます: ActiveSheet を使用して、

Application.ActiveSheet.UsedRange

あなたのコードで更新を強制します。


ActiveSheet
(たとえば、シートをパラメータとして渡したルーチンで)を使用しない場合は、次のようにします。

i = Sh.UsedRange.Row

この時点で i の値に頼らないでください。 .UsedRange
の次の参照は、実際に使用される範囲になります。

コメントする

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