エクセル VBAについての質問です。ある Range(矩形の場合)のrow,column の上限、下限を簡単に取得する方法はないでしょうか?

end(xlUp)などは、range の外までチェックするようです。単純に、4つの隅のrow,column プロパティをしりたいだけなんですが、
簡単な方法はないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/13 21:15:39
  • 終了:2010/03/13 22:00:08

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/03/13 21:37:37

ポイント27pt

範囲が決まっているのならば、4隅は次のようになります。

Sub test()
    Dim r As Range
    Set r = Range("C5:D6")
    
    Debug.Print r.Row & "," & r.Column  '左上
    Debug.Print r.Row & "," & r.Column + r.Columns.Count - 1    '右上
    Debug.Print r.Row + r.Rows.Count - 1 & "," & r.Column       '左下
    Debug.Print r.Row + r.Rows.Count - 1 & "," & r.Column + r.Columns.Count - 1 '右下
End Sub

http://q.hatena.ne.jp/

id:kaiketsu

ちょっとは面倒なんですね。

2010/03/13 21:59:53

その他の回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/03/13 21:37:37ここでベストアンサー

ポイント27pt

範囲が決まっているのならば、4隅は次のようになります。

Sub test()
    Dim r As Range
    Set r = Range("C5:D6")
    
    Debug.Print r.Row & "," & r.Column  '左上
    Debug.Print r.Row & "," & r.Column + r.Columns.Count - 1    '右上
    Debug.Print r.Row + r.Rows.Count - 1 & "," & r.Column       '左下
    Debug.Print r.Row + r.Rows.Count - 1 & "," & r.Column + r.Columns.Count - 1 '右下
End Sub

http://q.hatena.ne.jp/

id:kaiketsu

ちょっとは面倒なんですね。

2010/03/13 21:59:53
id:GreenStar No.2

GreenStar回答回数192ベストアンサー獲得回数462010/03/13 21:45:44

ポイント27pt
Dim a As Range
Set a = Range("B2:D50")
Debug.Print a.Column, a.Row
Debug.Print a.Column + a.Columns.Count - 1, a.Row
Debug.Print a.Column , a.Row + a.Rows.Count - 1
Debug.Print a.Column + a.Columns.Count - 1, a.Row + a.Rows.Count - 1

http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page5.htm

id:HALSPECIAL No.3

HALSPECIAL回答回数407ベストアンサー獲得回数862010/03/13 21:47:06

ポイント26pt

こんな感じでしょうか

'左上隅
Debug.Print Range(矩形の場合).Row
Debug.Print Range(矩形の場合).Column

'右上隅
Debug.Print Range(矩形の場合).Row
Debug.Print Range(矩形の場合).Column + Range(矩形の場合).Columns.Count - 1

'左下隅
Debug.Print Range(矩形の場合).Row    + Range(矩形の場合).Rows.Count    - 1
Debug.Print Range(矩形の場合).Column

'右下隅
Debug.Print Range(矩形の場合).Row    + Range(矩形の場合).Rows.Count    - 1
Debug.Print Range(矩形の場合).Column + Range(矩形の場合).Columns.Count - 1

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません