最初に、クレジットが期限切れのクレジットカードを提示します。これはMr.Excel.comとexceltip.comのu/Joe Wasのコードを使ってまとめられています。VBAで全体のブックを検索し、結果を別のワークシートに貼り付けます。
私は、検索ボックスに入力された値を見つけるために、Excelで9枚のドキュメントを検索する検索機能を作成しようとしています。次に、それらの値をブックの最初のページに貼り付けます。
コードを変更して検索ページの適切な場所に貼り付けるにはどうすればよいですか?私は最後のループで変更しようとしました。なぜなら、それは "ランタイムエラー91.オブジェクト変数またはブロック変数が設定されていません"です。
私はそのエラーを尋ねましたが、変数は常に問題を引き起こす可能性があります。 The search page. This is where the Debugger stops. これまでのコードです。
Sub Find_one()
'Find Function For ERF Spreadsheet'
'Type in Box, Press Button, Display the Results'
Dim ws As Worksheet, Found As Range
Dim myText As String, FirstAddress As String
Dim AddressStr As String, foundNum As Integer
myText = Range("D5")
If myText = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
With ws
'Do not search sheet1'
If ws.Name = "Sheet1" Then GoTo myNext
Set Found = .UsedRange.Find(What:=myText, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
foundNum = foundNum + 1
AddressStr = AddressStr & .Name & " " & Found.Address & vbCrLf
Set Found = .UsedRange.FindNext(Found)
'Found.EntireRow.Copy _
'Destination:=Worksheets("Sheet4").Range("A65536").End(xlUp).Offset(1, 0)
Loop While Not Found Is Nothing And Found.Address <> FirstAddress
End If
myNext:
End With
Next ws
If Len(AddressStr) Then
Sheet8.Range("B18") = ws.Cells(x, 1)
Sheet8.Range("C18") = ws.Cells(x, 2)
Sheet8.Range("D18") = ws.Cells(x, 3)
Sheet8.Range("E18") = ws.Cells(x, 4)
Sheet8.Range("F18") = ws.Cells(x, 5)
Sheet8.Range("G18") = ws.Cells(x, 6)
Sheet8.Range("H18") = ws.Cells(x, 7)
Sheet8.Range("I18") = ws.Cells(x, 8)
Sheet8.Range("J18") = ws.Cells(x, 9)
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
End Sub
これが最後のループのために元のコードです...ここで
If Len(AddressStr) Then
MsgBox "Found: """ & myText & """ " & foundNum & " times." & vbCr & _
AddressStr, vbOKOnly, myText & " found in these cells"
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
画像を添付しようとすると、表示されなかったように見えます。 – dwirony
私はそれを修正しました。 –
問題は、あなたのブックの添付写真を見て、あなたのシート名は文字と "検索"ですが、 "Sheet1"と "Sheet4"に基づいてシートを参照することだと思います。ワークシート( "C")やws.Name = "Search"のように、作業中のシートの実際の名前に置き換えてみてください。また、名前を使用したくない場合は、ワークシート(1)またはシート(4)で場所を参照することもできます。 – Dexloft