「a列の空白まで選択する vba」
という検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。
A列にデータが入力されているときにデータの入力されているセル範囲を選択するには、Excel VBA(Visual Basic for Applications)でどのようなコードを書けばいいのかを探している方による検索でしょうか。
空白セルの一つ上のセルまでを選択するサンプルマクロ
以下のようなマクロで、A列の空白セルの一つ上のセルまで・データの入力されているセル範囲を選択することができます。
Range("A1", Range("A1").End(xlDown)).Select
End SubRangeプロパティに引数を2つ指定したときは、2つの引数で表されるセル範囲を表すRangeオブジェクトを取得できます。
例えば、
Range("A1", "A10").Select
というコードにすると、A1:A10セルを選択できます。
上記マクロの、
Range("A1", Range("A1").End(xlDown)).Select
というコードは、このRangeプロパティの第2引数に
「Range("A1").End(xlDown)」
というオブジェクト式を指定したものです。
「Range("A1").End(xlDown)」は、データの入力されている最終行を取得する際に利用する、Excel VBAで定番のRange.Endプロパティを使ったオブジェクト式です。
空白セルの一つ上のセルまでを選択するサンプルマクロ2
一般的な、実務で作られるデータの場合、上記のような、
Range("A1", Range("A1").End(xlDown)).Select
というコードで、A列のデータの入力されているセル範囲を選択することができますが、A1セルにしかデータが存在していない場合はアウトです。
A1セルにしかデータが存在しないようなケースが想定されるのなら、以下のようなマクロです。
Range("A1", Cells(Rows.Count, "A").End(xlUp)).Select
End Sub先ほどのマクロとは、Rangeプロパティの第2引数が異なっています。
「Cells(Rows.Count, "A").End(xlUp)」は、途中に空白セルが存在するような場合に最終行を取得する際に利用する定番のオブジェクト式です。
空白のセルまで選択するサンプルマクロ
「a列の空白まで選択する vba」
という検索キーワードを杓子定規に解釈すると、空白セルも含んで選択するということになります。
その場合は以下のようなマクロです。
Range("A1", Range("A1").End(xlDown).Offset(1, 0)).Select
End Sub先にご紹介した一つ目のマクロとよく似ていますが、Rangeプロパティの第2引数が少しだけ違います。
「Range("A1").End(xlDown)」はA1セルから下方向の終端セルを取得するオブジェクト式です。
このA列のデータの入力されている一番下のセルから、もう一つ下の空白セルを取得するためにOffsetプロパティを使って、
「Range("A1").End(xlDown).Offset(1, 0)」
としています。
Home » Excel VBA Rangeオブジェクト » Endプロパティ » VBAで空白セルまでを選択する