Hi and welcome to the forum,
When you are working with range and cells and different worksheets, it is always good practice to identify the sheets before the range and the cells:
For example :
Set RngFound = Worksheets("Coordinates").Range("C2:C1000").Find(What:="0", LookAt:=xlWhole)
i = RngFound.Row
Set Rng101 = Worksheets("Coordinates").Range(Worksheets("Coordinates").Cells(2, 3), Worksheets("Coordinates").Cells(i - 1, 4))
or simpler :
With Worksheets("Coordinates")
Set RngFound = .Range("C2:C1000").Find(What:="0", LookAt:=xlWhole)
i = RngFound.Row
Set Rng101 = .Range(.Cells(2, 3), .Cells(i - 1, 4))
End With
Otherwise the range that you define will be on the activesheet at the moment the line of code is executed.
If you have multiple sheets in your workbook, that can cause some problems.
And if you do this, you should not need to make the sheet visible to define your range.
Cheers
Bookmarks