Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Activation inheritance
I'm a little bit confused that the following does not seem to be valid.
Copy from another active Workbook and Workbooks("A").Worksheets("B"). Range("Goal"). Activate Paste.... If Worksheets("A") was the active sheet before switching to another WB then the code returns to the A-sheet and give me the error 1004 as it cannot find the range "Goal" in this sheet. Is it really necessary to acivate each part individually? Workbooks("A").Activate Worksheets("B").Activate Range("Goal"). Activate Why? It doesn't seem to be logic! |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Activation inheritance
Mats,
Yes, you cannot .Activate/.Select an object unless its .Parent is active. So you need to step through like that. Or Application.Goto Workbooks(2).Worksheets(1).Range("A2") However, for most of Excel's functionality, you do not need to .activate the object(s) in order to use them. Depends what you are doing. NickHK "Mats Samson" wrote in message ... I'm a little bit confused that the following does not seem to be valid. Copy from another active Workbook and Workbooks("A").Worksheets("B"). Range("Goal"). Activate Paste.... If Worksheets("A") was the active sheet before switching to another WB then the code returns to the A-sheet and give me the error 1004 as it cannot find the range "Goal" in this sheet. Is it really necessary to acivate each part individually? Workbooks("A").Activate Worksheets("B").Activate Range("Goal"). Activate Why? It doesn't seem to be logic! |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Activation inheritance
You need to activate separately, not all the way but sheet and range
Workbooks("A").Worksheets("B").Activate Range("Goal"). Activate I agree with you, but that is how it is. -- HTH Bob Phillips (there's no email, no snail mail, but somewhere should be gmail in my addy) "Mats Samson" wrote in message ... I'm a little bit confused that the following does not seem to be valid. Copy from another active Workbook and Workbooks("A").Worksheets("B"). Range("Goal"). Activate Paste.... If Worksheets("A") was the active sheet before switching to another WB then the code returns to the A-sheet and give me the error 1004 as it cannot find the range "Goal" in this sheet. Is it really necessary to acivate each part individually? Workbooks("A").Activate Worksheets("B").Activate Range("Goal"). Activate Why? It doesn't seem to be logic! |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Activation inheritance
Nick & Bob have explained about Activate. It's not clear what you are trying
to do other than you mention Copy/Paste. For that you don't need select or activate - rngSource.Copy rngDest Set the two ranges as required, qualifying them back to the appropriate workbook and sheet. If the two ranges are not same size at least one should refer to a single cell. Regards, Peter T "Mats Samson" wrote in message ... I'm a little bit confused that the following does not seem to be valid. Copy from another active Workbook and Workbooks("A").Worksheets("B"). Range("Goal"). Activate Paste.... If Worksheets("A") was the active sheet before switching to another WB then the code returns to the A-sheet and give me the error 1004 as it cannot find the range "Goal" in this sheet. Is it really necessary to acivate each part individually? Workbooks("A").Activate Worksheets("B").Activate Range("Goal"). Activate Why? It doesn't seem to be logic! |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Activation inheritance
Thank you for quick response, it's alright!
To Peter: The copy and paste ranges are not important in my case, that works fine. The whole story is whether the parent workbook and worksheet also inherits the activation, i.e. also become active when I select a range in the worksheet. Obviously they don't. "Peter T" wrote: Nick & Bob have explained about Activate. It's not clear what you are trying to do other than you mention Copy/Paste. For that you don't need select or activate - rngSource.Copy rngDest Set the two ranges as required, qualifying them back to the appropriate workbook and sheet. If the two ranges are not same size at least one should refer to a single cell. Regards, Peter T "Mats Samson" wrote in message ... I'm a little bit confused that the following does not seem to be valid. Copy from another active Workbook and Workbooks("A").Worksheets("B"). Range("Goal"). Activate Paste.... If Worksheets("A") was the active sheet before switching to another WB then the code returns to the A-sheet and give me the error 1004 as it cannot find the range "Goal" in this sheet. Is it really necessary to acivate each part individually? Workbooks("A").Activate Worksheets("B").Activate Range("Goal"). Activate Why? It doesn't seem to be logic! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
activation key | Excel Discussion (Misc queries) | |||
inheritance | Excel Programming | |||
why doesn't microsoft excel support inheritance | Excel Programming | |||
inheritance module | Excel Programming | |||
Inheritance of references | Excel Programming |