EXCEL VBA TIPs. (範囲名の活用と、行数・列数を取得。)
Date:2008.02.22(Fri)20:59 | Category:[EXCEL VBA TIPs]
[編集]
エクセルのマクロで、ある範囲を扱うときは、その範囲に範囲名を付けとくと便利なのは常識。
で、ループを使ってその範囲を操作するとき、その範囲内の行数・列数が知りたくなる。
範囲名「Area」内の行数は、
Worksheets("Sheet1").Range("Area").Rows.Count
列数は、
Worksheets("Sheet1").Range("Area").Columns.Count
みたいな感じで取得できる。
あ、でも、普通、「 For Each...Next ステートメント」使うのか?
ちなみに、Range を指定しないで、ただ単に、
Rows.Count
Columns.Count
ってやると、アクティブなワークシートの最大行数・最大列数が返ってくる。
逆に、範囲名を使わないで、特定のセルの、先頭セルからの行数(行番号)・列数(列番号)も、
セル「"F5"」の行番号は、
Worksheets("Sheet1").Range("F5").Row
列番号は、
Worksheets("Sheet1").Range("F5").Column
みたいな感じで取得できる。
これは、どういう風に使えるか分からないけど、あるセルに設定されている範囲名を取得(抽出)する事も出来る。
たとえば "A1" に範囲名「Hani」が設定されているとすると、
Range("A1").Name.Name
は「Hani」を返してくる。
これ、
Range("A1").Name
ってやっちゃうと、
=Sheet1!$A$1
ってのが返ってくる。最後の Name はメソッドなのか?意味不明。
役に立つかどうかは分からないけど、とりあえず、
「忘れたときの為の、メモメモ。」
な感じ。
PS. VBA の仕事、一段落したと思ったら、とんでもなくディープな調査依頼が来てしまった。
「いくらなんでも、ムリ!」
つらい・・・
スポンサードリンク
で、ループを使ってその範囲を操作するとき、その範囲内の行数・列数が知りたくなる。
範囲名「Area」内の行数は、
Worksheets("Sheet1").Range("Area").Rows.Count
列数は、
Worksheets("Sheet1").Range("Area").Columns.Count
みたいな感じで取得できる。
あ、でも、普通、「 For Each...Next ステートメント」使うのか?
ちなみに、Range を指定しないで、ただ単に、
Rows.Count
Columns.Count
ってやると、アクティブなワークシートの最大行数・最大列数が返ってくる。
逆に、範囲名を使わないで、特定のセルの、先頭セルからの行数(行番号)・列数(列番号)も、
セル「"F5"」の行番号は、
Worksheets("Sheet1").Range("F5").Row
列番号は、
Worksheets("Sheet1").Range("F5").Column
みたいな感じで取得できる。
これは、どういう風に使えるか分からないけど、あるセルに設定されている範囲名を取得(抽出)する事も出来る。
たとえば "A1" に範囲名「Hani」が設定されているとすると、
Range("A1").Name.Name
は「Hani」を返してくる。
これ、
Range("A1").Name
ってやっちゃうと、
=Sheet1!$A$1
ってのが返ってくる。最後の Name はメソッドなのか?意味不明。
役に立つかどうかは分からないけど、とりあえず、
「忘れたときの為の、メモメモ。」
な感じ。
PS. VBA の仕事、一段落したと思ったら、とんでもなくディープな調査依頼が来てしまった。
「いくらなんでも、ムリ!」
つらい・・・

Comment
Comment_form