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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/08/13 17:14:31
  • 終了:2009/08/20 17:15:03

回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/08/13 17:25:40

ポイント35pt

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

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

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

HALSPECIAL回答回数407ベストアンサー獲得回数862009/08/14 04:59:12

ポイント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 文字列に変換 (行、列) のインデックスを情報:

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

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

トラックバック

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません