XcelNoobster
New Member
- Joined
- Jun 7, 2022
- Messages
- 40
So I have a macro that searches Ids in a a couple sheets and outputs the location of each Id in another sheet. Currently right now, it only returns sheet name and address where the Id is found. How would I return the entire row as well?
VBA Code:
Sub findIds()
Application.ScreenUpdating = False
Dim srcRng As Range, rng As Range, sAddr As String, fnd As Range, ws As Worksheet, x As Long: x = 1
Set srcRng = Sheets("IDs").Range("A2", Sheets("IDs").Range("A" & Rows.Count).End(xlUp))
For Each rng In srcRng
For Each ws In Sheets
If ws.Name <> "IDs" And ws.Name <> "Results" Then
Set fnd = ws.Cells.Find(rng, LookIn:=xlValues, lookat:=xlPart)
If Not fnd Is Nothing Then
sAddr = fnd.Address
Do
With Sheets("Results")
.Range("A" & x) = fnd
.Range("B" & x) = fnd.Address
.Range("C" & x) = ws.Name
x = x + 1
End With
Set fnd = ws.Cells.FindNext(fnd)
Loop While fnd.Address <> sAddr
sAddr = ""
End If
End If
Next ws
Next rng
Application.ScreenUpdating = True
End Sub