ExcelVBAでセルの行列番号を取得するAddressプロパティまとめ
いっつも、あー、どうやって書くんだっけー!!とその都度ググってはうろうろするので、自分がわかりやすいようにまとめてみました。
取得したい形式によって使い分ける
実際は変数のAddressを取得したいことが多いと思いますが、例としてCells(1,1)
で。頭に$
がつくのは、絶対参照です。
$A$1 と出したいとき
Cells(1, 1).Address
$A1 と出したいとき
Cells(1, 1).Address(RowAbsolute:=False)
A$1 と出したいとき
Cells(1, 1).Address(ColumnAbsolute:=False)
A1 と出したいとき
Cells(1, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
[Book名]Sheet名!$A$1 と出したいとき
Cells(1, 1).Address(External:=True)
Addressからアルファベットと数値を分離する
方法はいろいろあると思うのですが、私はこうやってます。
Sub al_num() Dim adr As String, n As Integer, al As String, num As Integer adr = Cells(1, 1).Address(ColumnAbsolute:=False) '○$○形式 n = InStr(adr, "$") '$の位置を特定 al = Left(adr, n - 1) '$より前がアルファベット num = Right(adr, Len(adr) - n) '$より後が数値 End Sub
たまーに必要になるんですよねー。
ExcelVBAに興味をお持ちの方は、こちらの記事もどうぞ!
- これからExcelのマクロを始めたいという方に!簡単な練習問題作りました。
- 私がExcelVBAでよく使う便利なコード・スニペットまとめ
- プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと
- ExcelVBAのクラスモジュールって何?という人向けの使い方まとめ
書籍を執筆しています。
1件のピンバック
[…] ExcelVBAでセルの行列番号を取得するAddressプロパティまとめ *Ateitexe […]
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。