![]() |
Drawing Objects with vba and workbook/worksheet
Hello Usenet group Exelerometers,
I am using vba to draw a circle over a 2-cell range on a worksheet (thank you for the tip on how to do this). It seems that I cannot draw my circle on a worksheet in a workbook. Does the worksheet in the workbook have to be active (aka ActiveSheet) in order for drawing to take place? I have two workbooks - one is the workbook with a worksheet with buttons, etc, and a bunch of VBA code to make things happen. I click a button to open an existing workbook. None of the sheets in the workbook I open are active. I click another button on my sheet, and it performs some calculations on the book I opened. I would like to draw a circle over a cell or cells after the calculation process, but without making the various sheets active. Thanks, eholz1 |
Drawing Objects with vba and workbook/worksheet
I avoid using the active statement. You can refgerence any object without
acttivating (there are some rare exceptions). with thisworkbook.sheets("sheet1") .Range("A1") = 5 end with workbooks.open filename:="c:\abc.xls" set newbk = activeworkbook with newbk.sheets("sheet1") .Range("A1") = 5 end with the same thing will work with shapes. "eholz1" wrote: Hello Usenet group Exelerometers, I am using vba to draw a circle over a 2-cell range on a worksheet (thank you for the tip on how to do this). It seems that I cannot draw my circle on a worksheet in a workbook. Does the worksheet in the workbook have to be active (aka ActiveSheet) in order for drawing to take place? I have two workbooks - one is the workbook with a worksheet with buttons, etc, and a bunch of VBA code to make things happen. I click a button to open an existing workbook. None of the sheets in the workbook I open are active. I click another button on my sheet, and it performs some calculations on the book I opened. I would like to draw a circle over a cell or cells after the calculation process, but without making the various sheets active. Thanks, eholz1 |
Drawing Objects with vba and workbook/worksheet
Follow Joel's advice, and identify any instance of "select" or "selection"
or "active" in your code as a spot that needs attention. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. - http://PeltierTech.com _______ "Joel" wrote in message ... I avoid using the active statement. You can refgerence any object without acttivating (there are some rare exceptions). with thisworkbook.sheets("sheet1") .Range("A1") = 5 end with workbooks.open filename:="c:\abc.xls" set newbk = activeworkbook with newbk.sheets("sheet1") .Range("A1") = 5 end with the same thing will work with shapes. "eholz1" wrote: Hello Usenet group Exelerometers, I am using vba to draw a circle over a 2-cell range on a worksheet (thank you for the tip on how to do this). It seems that I cannot draw my circle on a worksheet in a workbook. Does the worksheet in the workbook have to be active (aka ActiveSheet) in order for drawing to take place? I have two workbooks - one is the workbook with a worksheet with buttons, etc, and a bunch of VBA code to make things happen. I click a button to open an existing workbook. None of the sheets in the workbook I open are active. I click another button on my sheet, and it performs some calculations on the book I opened. I would like to draw a circle over a cell or cells after the calculation process, but without making the various sheets active. Thanks, eholz1 |
Drawing Objects with vba and workbook/worksheet
On Apr 9, 2:33 pm, "Jon Peltier"
wrote: Follow Joel's advice, and identify any instance of "select" or "selection" or "active" in your code as a spot that needs attention. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. -http://PeltierTech.com _______ "Joel" wrote in message ... I avoid using the active statement. You can refgerence any object without acttivating (there are some rare exceptions). with thisworkbook.sheets("sheet1") .Range("A1") = 5 end with workbooks.open filename:="c:\abc.xls" set newbk = activeworkbook with newbk.sheets("sheet1") .Range("A1") = 5 end with the same thing will work with shapes. "eholz1" wrote: Hello Usenet group Exelerometers, I am using vba to draw a circle over a 2-cell range on a worksheet (thank you for the tip on how to do this). It seems that I cannot draw my circle on a worksheet in a workbook. Does the worksheet in the workbook have to be active (aka ActiveSheet) in order for drawing to take place? I have two workbooks - one is the workbook with a worksheet with buttons, etc, and a bunch of VBA code to make things happen. I click a button to open an existing workbook. None of the sheets in the workbook I open are active. I click another button on my sheet, and it performs some calculations on the book I opened. I would like to draw a circle over a cell or cells after the calculation process, but without making the various sheets active. Thanks, eholz1 Hello Guys, Thanks for this info - it will change my code accordingly. eholz1 |
All times are GMT +1. The time now is 12:21 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com