Propriedade Range.Cells :
Because the Item property is the default property for the Range object, you can specify the row and column index immediately after the Cells keyword. For more information, see the Item property and the examples for this topic.
Using this property without an object qualifier returns a Range object that represents all the cells on the active worksheet.
minha ênfase
Você não está qualificando o seu alcance, é por isso que isso está acontecendo
Sub schrodingers_copy()
Range("a1").Copy
Worksheets(2).Paste
End Sub
Range("a1")
refere-se a _GLOBAL.Range("a1")
, em que _GLOBAL
se refere a Activesheet
.
Se você tivesse qualificado o original .Range
com uma planilha, isso não aconteceria. Não importa se você realmente usa .Select
ou não.
Exemplos
Execute isto enquanto a Folha1 estiver ativa. Em seguida, execute-o novamente (o Sheet2 estará ativo)
Sub BadKitty()
Sheet1.Cells(1, 1).Select
MsgBox Selection.Parent.Name
Sheet2.Activate
Selection = "What sheet is this"
MsgBox Selection.Parent.Name
End Sub
Selecione C3 na Planilha4, depois vire para Planilha3 e selecione A1. Então observe o que acontece aqui
Sub DontOpenTheBox()
Dim x As String
Range("A1").Select
Sheet2.Range("B2") = Selection.Address
Selection = "what sheet is this? "
Sheet4.Activate
x = Selection.Parent.Name
MsgBox x
Sheet3.Range("B2") = Selection.Address
End Sub