- ベストアンサー
EXCEL-VBAでRangeの末端の座標値を取得できますか?
Activecell.row / column でセルの座標値が取得できますが、範囲(例えば a1:c5 )を選択している時の、rangeの末端の座標 (この場合では c5 = ????.row=5,????.column=3) を取得する方法をご存知の方、教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> マニュアルとか、サイトはありますか? 参考書は、ちょっと大きな本屋さんに行けば、一杯あるかと・・・ 内容を見て適当なものに決めればいいと思います。 サイトも、これまた一杯ありまして、何処が一番とかは、言えませんが、取り敢えず・・・ http://www.voicechatjapan.com/excelvba/ なんかは、どうですか。 あと、Cellsで思い出しましたが、これを使えば、ちょっと簡単になります。 どっちも、連続している1つの範囲の場合です。 飛び飛びの場合は、方法が違います。 Sub Test2() Dim Rng As Range With Selection Set Rng = .Cells(.Rows.Count, .Columns.Count) End With MsgBox "Address = " & Rng.Address(False, False) & vbNewLine & _ "Row = " & Rng.Row & vbNewLine & _ "Column = " & Rng.Column, , "最終アドレス" End Sub
その他の回答 (2)
- at121
- ベストアンサー率41% (85/206)
範囲レンジの右下末端セル Set 右下末端セル = レンジ.Cells(レンジ.Count) With レンジ Set 右下末端セル = .Cells(.Count) End With 右下末端セル が 結合されたセルだと 結合の左上でないと入力できない・・
お礼
ありがとうございます。
- ja7awu
- ベストアンサー率62% (292/464)
範囲内のアクティブセルの位置が任意の場合として、こんな感じかな。 Sub Test1() Dim Rng As Range With Selection Set Rng = .Resize(1, 1).Offset(.Rows.Count - 1, .Columns.Count - 1) End With MsgBox "Address = " & Rng.Address(False, False) & vbNewLine & _ "Row = " & Rng.Row & vbNewLine & _ "Column = " & Rng.Column, , "最終アドレス" End Sub
お礼
ドットや---s の打ち間違えで何度かエラーになりましたが結局出来ました、感激です、ありがとうございます。 ところでこの手の内容が書かれたマニュアルとか、サイトはありますか?
お礼
ありがとうございます。勉強し甲斐が有りそうですが、兆戦してみます。