アプリケーションとしてのVBA
連続してデータが入っているセル範囲の取得
◆連続してデータが入っているセル範囲の取得
Excel に仕事をさせる場合、ソートやフィルターオプションなどでは、セルの範囲を
指定する必要があります。
データの範囲がいつも一定ならば良いのですが、CSV ファイルを読み込んでデータを
処理するアプリケーションを作成する場合などは、データの範囲を特定してやる必要
があります。
そうしないと汎用性のあるアプリケーションを作成できません。
そんな時に知っていると便利な Tips です。
複数のセルにデータが入っている Sheet を用意してください。
データが入っているセルのひとつを選択して
ctl + shift + * を押してください。
どうですか? データが入力されているセル全てが選択されました。
「ctl + shift + * 」をマクロ記録させると、
Selection.CurrentRegion.Select になります。
ちなみに、全てのセルを選択して、消去する場合は
Selection.CurrentRegion.ClearContents となります。
選択されている範囲のアドレスを知りたい場合は、
ActiveWindow.RangeSelection.Address が使えます。
下記は、データが連続している範囲を取得する Function です。
データが連続している中の一つのセルを選択して、
「ctl + shift + * 」 ⇒ Selection.CurrentRegion.Select
を実行後、Address を取得しています。
Function Select_Range() As String
Range("A1").Select
Selection.CurrentRegion.Select
Select_Range = ActiveWindow.RangeSelection.Address
End Function
example1 をダウンロードして、サンプルマクロを参照してください。
コメントを詳しく入れてあります。