- 締切済み
エクセルで特定のセルを選択したい(マクロ)
以下のようなマクロを組もうとしていますが、出来ません。 sheet1において 1)マクロを実行すると、メッセージボックスが出る。 2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。 3)2)のセルの1行下のセルを選択する。 2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>メッセージボックスが出る InputBoxだろう。 >セルを選択する。 複数有る可能性は無いのか。ここが肝心なのだ。 >)で必ずエラーが出てしまいます コードも挙げないでエラーが出るといっても始まらない。 ーー 重複出現がないなら、こんな簡単なものじゃないか。 Range("A1:G20")を検索対象範囲に考えた場合 Sub test03() s = InputBox("検索語=") Range("A1:G20").Find(s).Select Selection.Offset(1, 0).Select End Sub 見つからない場合もあれば Sub test03() s = InputBox("検索語=") Set x = Range("A1:G20").Find(s) If x Is Nothing Then MsgBox "Not Found" Else x.Offset(1, 0).Select End If End Sub
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のようにされてはどうでしょう。 Match関数を使う場合には検索値がなければエラーになりますので注意が必要ですね。 Sub 行検索() Moji = InputBox("検索の文字列を入力してください。") For n = 1 To 100 If WorksheetFunction.CountIf(Columns(n), Moji) > 0 Then m = WorksheetFunction.Match(Moji, Columns(n), 0) Cells(m + 1, n).Activate MsgBox "検索されたセルは" & n & "列の" & m + 1 & "行です。" End If Next End Sub
- mitarashi
- ベストアンサー率59% (574/965)
うまく行かないコードと、エラー内容を呈示された方が話が早いと存じます。 下記はご質問の趣旨とすこし違いますが、ご参考になると思います。 http://okwave.jp/qa4189059.html