エクセルVBAに関する質問です。 Cells(4, 5) は、Range("E4") と同じです。このとき、cells(4,5)から、Eの文字列をとりだしたいのですが、どうするといいのでしょうか? 簡単にできる方法ありそうなのですが、Cells(4, 5).Column とやると 5 がでてきています。5 を E に変換したいのです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/08/20 17:15:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント35pt

その方法は最近ブログの中でで使った気が。

http://d.hatena.ne.jp/SALINGER/20090728

 Split(Cells(4, 5).Address, "$")(1)
id:HALSPECIAL No.2

回答回数407ベストアンサー獲得回数86

ポイント35pt

一応、こんな方法も、



Option Explicit

Public Sub Test()
    'イミディエイトウィンドウに表示してみる
    Debug.Print ColumnIndexToString(5)
    Debug.Print ColumnIndexToString(Cells(4, 5).Column)
End Sub

'カラムインデックスを文字に変換する関数
Function ColumnIndexToString(ByVal col As Long) As String
   ColumnIndexToString = ""
   If col > 26 Then
       ColumnIndexToString = Chr(Asc("A") + Int((col - 1) / 26) - 1)
   End If

   ColumnIndexToString = ColumnIndexToString & Chr(Asc("A") + ((col - 1) Mod 26))
End Function


Excel スタイル A1:C1 文字列に変換 (行、列) のインデックスを情報:

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません