ExcelVBAでセルの行列番号を取得するAddressプロパティまとめ

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

たまーに必要になるんですよねー。

公開日:2012/04/02
更新日:2012/04/03

1件のピンバック


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)