- ベストアンサー
マクロで取得した列を数字でなく記号で表示したい
マクロでセルを指定(Gyou=2,Retu=3)して、そのセルから1行下、1列右(Gyou+1,Retu+1)と順番にセルをチェックして該当のセルが見つかった時にその Retu を表示させた場合、Retu=7 であれば 7 と表示されますが、これを記号、Retu=7 の場合、G と表示させることはできますか? どなたかご存知の方お教え下さい。よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 以下のようなコードは、入門レベルですから、なるべく、コードを提示して教えてもらうようにしてください。 '検索範囲を、10行 10列にします。 '------------------------------------------- Sub MacroTest1() Dim Gyou As Long Dim Retu As Long Dim i As Integer Dim myAdd As String For Gyou = 1 To 10 For Retu = 1 To 10 If Cells(Gyou, Retu).Value = 123 Then myAdd = Cells(Gyou, Retu).Address(, 0) MsgBox Mid$(myAdd, 1, InStr(myAdd, "$") - 1) Exit For End If Next Next End Sub
その他の回答 (3)
- watabe007
- ベストアンサー率62% (476/760)
>Retu=7 の場合、G と表示させることはできますか? MsgBox Split(Columns(Retu).Address(0, 0), ":")(0)
お礼
ご指示の通り実行すると、うまくできました。 本当に有難うございました。
- watabe007
- ベストアンサー率62% (476/760)
>Retu=7 の場合、G と表示させることはできますか MsgBox Split(Cells(1, 7).Address(, 0), "$")(0)
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のようになるのではないでしょうか If Retu=7 Then G=Retu7
補足
早速のご回答、ありがとうございます。 私の質問のしかたがまずかったのか、通常、セルの表示は「A1 とか G5」と表示されますがマクロで「G5」と指定せずに範囲指定して処理している場合、Gyou = 2 Retu = 3 If Cells(Gyou,Retu) = 9 Then Range("F2") = Retu とした場合、 Range("F2")には 3 (Retu = 3 としているので) と表示されますが これを 3 ではなく C と表示したいのですが。
お礼
早速の、ご返事ありがとうございました。 提示されたコードを使ってやってみましたら、思うような答えがえられました。本当にありがとうございました。