Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This simple issue nags at me. In a larger macro, I start off activating a
worksheet and the current region, as follows: ThisWorkbook.Activate Worksheets("Transactions").Range("A1").Activate [This inelegant code is about my fourth iteration at getting this right.] I will run the macro from the VBA window, and if the Transactions worksheet is not the active sheet when I start the macro, I will get the error message: Activate method of Range class failed. Seems to me that my code should work regardless of which workbook or worksheet is active, but obviously I'm not understanding something. What is it? Thanks, John |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You can write virtually any macro without using activate (it's faster when it
runs that way)... But as a quick win, change: Worksheets("Transactions").Range("A1").Activate to worksheets("Transactions").activate range("A1").select "John V" wrote: This simple issue nags at me. In a larger macro, I start off activating a worksheet and the current region, as follows: ThisWorkbook.Activate Worksheets("Transactions").Range("A1").Activate [This inelegant code is about my fourth iteration at getting this right.] I will run the macro from the VBA window, and if the Transactions worksheet is not the active sheet when I start the macro, I will get the error message: Activate method of Range class failed. Seems to me that my code should work regardless of which workbook or worksheet is active, but obviously I'm not understanding something. What is it? Thanks, John |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you check the online help for Activate (found at
http://msdn.microsoft.com/en-us/libr...ce.11%29.aspx), you'd see that it only changes the focus to a cell within a selection. You probably want the Select method instead, although as Sam suggested, you can do most tasks in VBA without selecting anything. --JP On Nov 9, 3:18*pm, John V wrote: This simple issue nags at me. In a larger macro, I start off activating a worksheet and the current region, as follows: ThisWorkbook.Activate Worksheets("Transactions").Range("A1").Activate [This inelegant code is about my fourth iteration at getting this right.] I will run the macro from the VBA window, and if the Transactions worksheet is not the active sheet when I start the macro, I will get the error message: Activate method of Range class failed. Seems to me that my code should work regardless of which workbook or worksheet is active, but obviously I'm not understanding something. What is it? Thanks, John |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
rookie question | Charts and Charting in Excel | |||
Excel Rookie Question | Excel Programming | |||
VBA Question (rookie issue) | Excel Programming | |||
VBA rookie question - listbox and GOTO | Excel Programming |