Summary: I am writing a macro that takes names from many different sheets in an excel file and compiles them together on a “master list”, but I’m having trouble with referencing a cell on another sheet.
The Problem: When I refer to a specific cell using the sheet name as reference with Sheets("MasterList").ActiveCell.Offset(0, 1), nothing gets picked up. However, when I remove Sheets("MasterList") the macro works fine (the macro is currently on “MasterList” at the time which is the only way this would work). Also, the spelling for the name of the sheet was correct in my code.
Question: Why is this happening? The logic behind the code seems sound, and I’m spelling my sheet name correctly.
Code:
Do
If Sheets("MasterList").ActiveCell.Offset(0, 1) = firstName Then 'IF FIRST AND LAST NAMES MATCH, EXIT THE CHECK
Exit Do
End If
On Error Resume Next
Cells.Find(What:=lastName, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Loop Until Err.Number > 0
ActiveCellis a property of theApplicationobject, not aSheet.There is only one
ActiveCell, and it is the active cell on the currently active sheet.It’s not entirely clear what you are trying to do. But in general you should avoid
SelectandActivatewith this sort of code. Use instead somthing like:To track the last used cell in MasterList use a variable like
Then use
rMasterList.Offset(0, 1)to refer to cells relative to that cellSearching on MasterList use: