首先,在信貸到期時給予貸款。這是使用來自Mr.Excel.com和exceltip.com的代碼。在VBA中搜索整個工作簿,然後將結果粘貼到另一個工作表中
現在,我已經得到了這一點的,我想創建一個搜索功能,將通過在Excel中我9頁文件搜索,發現被輸入到搜索框中的值的方式。然後將這些值粘貼到工作簿的第一頁上。
我需要什麼,在我的代碼修改,使其粘貼到搜索頁面上的正確位置?我試圖在最後一個循環中更改事物,因爲那是我得到「運行時錯誤91.對象變量或塊變量未設置」的地方。
我GOOGLE了這個錯誤,但總是變量擰我,這樣可能是問題。 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 =「搜索」替換那些與您正在使用的工作表的實際名稱。或者,如果您不想使用他們的名字,可以使用工作表(1)或表格(4)參考他們的位置。 – Dexloft