>A1を検索ボックスとし、ここに入れた言葉を検索し、
と
>a = InputBox("検索したい文字を入力してください。")
がかみ合いませんが。
Findメソッドでのデータ検索
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_find.html#find
この事ではないかと。
データの範囲及びシート2の貼付ける位置が不明ですが。
InputBoxで値を入力し、シート1の全セルを検索範囲とし、シート2の1行目に貼付けるとするなら、
Sub try()
Dim str As Variant
Dim r As Range
str = InputBox("検索したい文字を入力してください。")
If str = "" Then Exit Sub
Set r = Worksheets("Sheet1").Cells.Find(What:=str, LookIn:=xlValues, _
LookAt:=xlWhole)
If r Is Nothing Then Exit Sub
r.EntireRow.Copy Worksheets("Sheet2").Rows(1)
Set r = Nothing
End Sub
こんなとか?
#1です。
>一点教えて頂きたいのですが、これは検索結果が複数あった場合、
>コピーが出来ないのでしょうか。
>出来れば、検索した内容が含まれている行ごと、なおかつ複数ある
>場合は全てを貼り付けたいのですが、可能でしょうか。
Sub try_next()
Dim str As Variant
Dim r As Range
Dim r1 As Range, r2 As Range
str = InputBox("検索したい文字を入力してください。")
If str = "" Then Exit Sub
Set r = Worksheets("Sheet1").Cells.Find(What:=str, LookIn:=xlValues, _
LookAt:=xlWhole)
If r Is Nothing Then Exit Sub
Set r1 = r
Set r2 = Worksheets("Sheet2").Range("A1")
Do
r.EntireRow.Copy r2.EntireRow
Set r = Worksheets("Sheet1").Cells.FindNext(r)
Set r2 = r2.Offset(1)
Loop Until r.Address = r1.Address
Set r = Nothing
Set r1 = Nothing
Set r2 = Nothing
End Sub
こんな感じの事でしょうか?
お礼
早速のご回答ありがとうございました。 早速試してみました。 まさにこんな感じのことがしたかったです!! 一点教えて頂きたいのですが、これは検索結果が複数あった場合、 コピーが出来ないのでしょうか。 出来れば、検索した内容が含まれている行ごと、なおかつ複数ある 場合は全てを貼り付けたいのですが、可能でしょうか。 ご教授頂けますと幸いです。 ご回答ありがとうございました。