• ベストアンサー

cellsプロパティ列名をアルファベットに変える

●質問の主旨 cellsプロパティで表された列名をアルファベットに 変えるためにはどのようなコードを使えばよいでしょうか? 例)cells(4,5)→E列 ●質問の補足 cellsプロパティで取り出された行数を Rangeプロパティを表したいと考えております。 上記の例を使うと、 Range("cells(4,5)→E列 & 4")というプロパティを作成し、 Setステートメントを使用した「Rangeオブジェクト」に したいと考えております。 ご存知のかたご教示よろしくお願い申し上げます

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.5

>cellsプロパティで表された列名をアルファベットに >変えるためにはどのようなコードを使えばよいでしょうか? Sub macro() ’変数Aの値が列名のアルファベットです。 Dim A As String A = Split(Cells(4, 5).Address, "$")(1) MsgBox Range(A & 4).Address End Sub わざわざアルファベットに変える必要性はないです。 Dim R As Range Set R = Cells(4, Cells(4, 5).Column) こうすれば、いいです。

dradra33
質問者

お礼

kybo様 ご回答ありがとうございます。 上記のコード参考にさせていただきます。

その他の回答 (4)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

Cells(4,5)はRangeオブジェクトです。 面倒なことをしなくても設定できます。 Dim 範囲 As Range Set 範囲 = Cells(4, 5) 他には Set 範囲 = Range(Cells(1, 1), Cells(4, 5)) と言うのもあります。 どうしても英字にしたいなら次のように します。 Dim 列位置 As Long Dim 列記号 As String 列位置 = Cells(4, 5).Column - 1 列記号 = IIf(列位置 < 27, "", Chr(64 + (列位置 \ 26))) _      & Chr(65 + (列位置 Mod 26 ))

dradra33
質問者

お礼

nda23様 ご回答ありがとうございます。 上記のコード参考にさせていただきます。

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

27進数だと考えれば自作関数で数値を文字列の ならびに変換するのもそれほど難易度の高い話 ではないです。

dradra33
質問者

お礼

MARU4812 ご回答ありがとうございます。 アドバイス参考にさせていただきます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。(追記) アルファベットでなくA1表記がご希望なら、Range(Cells(4, 5).Address(0, 0))で良いですよね。

dradra33
質問者

お礼

mu2011様様 たびたびのご回答ありがとうございます。 追記の例も参考にさせていただきます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 Left(Cells(4, 5).Address(0, 0), 1)

dradra33
質問者

お礼

mu2011様 お礼が遅くなり恐縮です。 上記の例、参考にさせていただきます

関連するQ&A