The MSDN documentation for
Worksheet.Paste method states, regarding the optional
A Range object that specifies where the Clipboard contents should be pasted. If this argument is omitted, the current selection is used.
Since the current selection is on another worksheet, only the address part of it is relevant, per the remarks section on the same page:
If you don't specify the Destination argument, you must select the destination range before you use this method.
This method may modify the sheet selection, depending on the contents of the Clipboard.
So your question entirely boils down to how
Worksheet.Paste deals with its
Destination parameter when it's omitted and the clipboard contains a
Now, as other answers stated, an unqualified
Range call is implicitly referring to the
ActiveSheet, so your clipboard contains
ActiveSheet.Range("A1") after copying:
Paste though, you are qualifying the destination - implicitly; the destination must be on whichever worksheet
Worksheets(2) is referring to, because that's what you're calling
.Paste against and you haven't provided a Destination parameter.
Sheet1.Range("A1") = "test"
Sheet3.Paste 'destination is [Sheet3!A1]
Sheet3.Paste Sheet1.Range("A2") 'destination is [Sheet1!A2]
So when a
Destination is provided, it doesn't matter what sheet you've qualified the
Paste call with. You ask:
Is there a way to get or change this "selection"?
Yes: Provide a value for the