Excel VBA(マクロ)で表の端、新規入力行を取得・選択する方法/Endプロパティの使い方

landscape IT

EndプロパティはCtrl+方向キー的な操作をすることができるVBAで、基準となるセルから見て終端、間に空白のない連続したセル(つまり表)の端を取得することができます。

スポンサーリンク

成果物

end6
Endプロパティを使い、表の終端のセルを選択してみます。

Endプロパティの使い方

end2
Endプロパティは引数にXlDirection列挙型定数を入力することで、上下左右の方向を指定し、進行方向の表の終端、始点を取得することができます。
end3
まずはActiveCell.End(xlDown).Selectとして、
end1
この状態から実行してみます。
end4
表の終端が選択されました。
end5
さらに右端へ移動してみます。右方向を指定するには、引数をxlToRightと指定します。
end6
選択セルが表の右端に移動しました。同様に上に移動はxlUp、左はxlToLeftとなります。
end7
表の端で実行した場合、進行方向に表があればその始点までストップ、何もなければ行けるところまで突き進みます。
end8
表の中でも空白があればそこで止まるので、Endプロパティを使う表では基本空白はなくすようにしてください。
end9
また、複数範囲には使えません。動くことは動くんですが、
end10
実行すると左上の単セルだけが取得されます。

新規入力行にデータを追加

end11
Endプロパティを使って、A列の一番下にデータを追加していってみます。今回はC1のデータを書き加えることにします。
end12
Range(“A1”).End(xlDown)で、空白がない限りA列の最下端のセルを取得できます。そこからさらにOffsetプロパティを噛ませ、そのひとつ下のセルを取得します。
end13
あとは取得したセルに、C1のデータを代入すれば良いので、コードとしてはRange(“A1”).End(xlDown).Offset(1).Value = Range(“C1”).Valueのようになります。
end14
実行結果です。実行するたびに、一番下にデータが追加されていくことが確認できます。
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
Excel(エクセル):行、列
Excelの行、列関係操作、関数、VBAです。他のまとめとかぶる部分が多い場合はリンク貼ります。 行・列の選択 行・列の一括選択方法です。 VBA(マクロ)であれば、たとえばRange("2:2").Selec...
Excel(エクセル):選択、移動
Excelでセルを選択/移動する方法のまとめです。ここでいうセルの選択というのは(マウスなどで)セルを入力・設定変更などするために選択するという意味のことで、関数などで対象のセルを選択する「参照」は扱いません。 補足事項は各個記事内リンク...
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント