Добавление последнего debug.print
показывает, что активный лист при запуске макроса не имеет значения.
Активируйте любой лист перед его запуском, и он все равно вернет «Лист1», потому что именно так rg1
определяется.
Private Sub test10()
Dim rg1 As Range
Dim rg2 As Range
'Worksheets("Sheet2").Activate 'uncommenting this line makes no difference as sheet is specified below in rg1
Set rg1 = Worksheets("Sheet1").Range("B1:B1")
With rg1
Set rg2 = Range(.Cells(1, 1), .Cells(1, 1))
End With
Debug.Print "rg1.Address: " & rg1.Address 'prints $B$1
Debug.Print "rg2.Address: " & rg2.Address 'prints $C$1
Debug.Print rg2.Parent.Name 'prints Sheet1
End Sub