アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしての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
    
    'セルのA1を選択します
    'ここで A1 を選択しているのは、example1 の場合です
    'データが連続している中の一つのセルを選択しています
    Range("A1").Select

    'データが存在するる領域を選択します 
    Selection.CurrentRegion.Select

    '選択された範囲を取得します
    Select_Range = ActiveWindow.RangeSelection.Address

End Function

example1 をダウンロードして、サンプルマクロを参照してください。
コメントを詳しく入れてあります。



Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.