こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルで特定のセルを選択したい(マクロ)

以下のようなマクロを組もうとしていますが、出来ません。

sheet1において
1)マクロを実行すると、メッセージボックスが出る。
2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。
3)2)のセルの1行下のセルを選択する。

2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。

投稿日時 - 2009-06-28 23:38:57

QNo.5082763

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>メッセージボックスが出る
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

投稿日時 - 2009-06-29 09:04:30

ANo.2

次のようにされてはどうでしょう。
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

投稿日時 - 2009-06-29 07:24:58

ANo.1

うまく行かないコードと、エラー内容を呈示された方が話が早いと存じます。
下記はご質問の趣旨とすこし違いますが、ご参考になると思います。
http://okwave.jp/qa4189059.html

投稿日時 - 2009-06-29 00:02:50

あなたにオススメの質問