私はExcel VBAの初心者です。私のコードを拡張するには本当に助けが必要です。 コードは、すべてのワークシートのテキストを検索します。 すべての検索結果を、テキストが見つかる完全な行の最初のシートに記載したいと思います。残念ながら、基準が見つかった行をコピーする方法がわかりません。 もし私がコードを検査するための解決策を得ることができれば、大きな助けになるでしょう。コードの下Excelでの検索ツール
Sub SearchAllSheets()
Dim ws As Worksheet
Dim rFound As Range
Dim strName As String
On Error Resume Next
strName = InputBox("What are you looking for?")
If strName = "" Then Exit Sub
For Each ws In Worksheets
With ws.UsedRange
Set rFound = .Find(What:=strName, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole)
If Not rFound Is Nothing Then
Application.Goto rFound, True
Exit Sub
End If
End With
Next ws
On Error GoTo 0
MsgBox "Value not found"
End Subの
'rFound.Row'がROWNUMBERなり、rFound.EntireRow.Copy'はそれをコピーします' 'のでrFound.EntireRow'は、行全体になります...あなたのようなものを探していますそれ? –
行をコピーするとループがどのように見えるのですか?とにかく、私のコードは、結果をリストするための検索ツールの良いアプローチですか? –
また、組み込みの検索エンジンを使用し、「すべて検索」を使用することもできます。あなたが必要とするのはそれだけではありませんか? (あなたが無数の行をコピーしない限り)^^; –