アプリ版:「スタンプのみでお礼する」機能のリリースについて

●質問の主旨
cellsプロパティで表された列名をアルファベットに
変えるためにはどのようなコードを使えばよいでしょうか?

例)cells(4,5)→E列


●質問の補足
cellsプロパティで取り出された行数を
Rangeプロパティを表したいと考えております。

上記の例を使うと、

Range("cells(4,5)→E列 & 4")というプロパティを作成し、
Setステートメントを使用した「Rangeオブジェクト」に
したいと考えております。

ご存知のかたご教示よろしくお願い申し上げます

A 回答 (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)

こうすれば、いいです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/04/21 15:06

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 ))
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/04/21 15:06

27進数だと考えれば自作関数で数値を文字列の


ならびに変換するのもそれほど難易度の高い話
ではないです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/04/21 15:04

NO1です。

(追記)
アルファベットでなくA1表記がご希望なら、Range(Cells(4, 5).Address(0, 0))で良いですよね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/04/21 15:04

一例です。


Left(Cells(4, 5).Address(0, 0), 1)
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/04/21 15:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!