人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: kaiketsu
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:VBA エクセル 文字列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

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

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

 Split(Cells(4, 5).Address, "$")(1)

2 ● HALSPECIAL
●35ポイント

一応、こんな方法も、



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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ