• ベストアンサー

セル番地をvbaで探したい

エクセルのセルに A1→あ B1→い C1→う がはいっています。 この状態で Sub Macro1() Dim mystr1 As String mystr1 = "c1" MsgBox mystr1 & "の値は、" & "です。" End Sub を実行した時に、mystr1のアドレスを探して、msgboxに表示させたいのですが、 どのような方法があるのでしょうか? アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

sub macro1()  dim mystr1 as string  mystr1 = "う"  on error goto errhandle  msgbox cells.find(what:=mystr1, lookin:=xlvalues, lookat:=xlwhole).address(false, false)  exit sub errhandle:  msgbox "NOT FOUND" end sub みたいな。

rzmmzzcirm
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! タイトルが >セル番地をvbaで探したい 質問文には >mystr1のアドレスを探して、 とありますので、メッセージボックスには「う」があるセル番地を表示させたい! という判断での一例です。 ちょっと回りくどいコードになりますが、極力お示しのコードに近い形にすると・・・ Sub Sample1() Dim mystr1 As String, c As Range, tmp As Variant tmp = "う" Set c = Cells.Find(what:=tmp, LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then mystr1 = c.Address MsgBox tmp & " のセル番地は、" & WorksheetFunction.Substitute(mystr1, "$", "") & "です。" Else MsgBox "該当データなし" End If End Sub ※ 「う」は重複していない!という前提です。 (重複している場合は上位の行が、同じ行の場合は右側のセル番地が表示されます) こんな感じをご希望なのでしょうか?m(_ _)m

rzmmzzcirm
質問者

お礼

ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

やりたいことがいま一つわからないのですが、C1セルの値を表示したいなら単純に以下のコードで良いのではないでしょうか。 MsgBox mystr1 & "の値は、" & Range(mystr1).Value & "です。"

rzmmzzcirm
質問者

お礼

ありがとうございました。