![]() |
It doesn't work in Windows XP?
Dear all,
I have the following codes worked prefectly well in Windows 98 and Windows 2000. with workbooks("Control") .worksheets("Main").activate end with However after I put the excel file onto a Windows XP machine, it does not work anymore. I need to put extra code on the top of it. workbooks("Control.xls").activate with workbooks("Control") .worksheets("Main").activate end with Is this the way how it should be in Windows XP? It would be a nightmare to me as I would need to make a lot of modification in my program since there would be quite a lot switching between different workbooks in my program. Please advise! Thanks in advance |
It doesn't work in Windows XP?
the specified sheet can only be activated if the workbook it belongs to is
the active workbook. That's true of all O/S platforms. If only one workbook is open, then it is, by default, the active workbook. If there are several workbooks open, then you need to have the workbook activated. Often though, if you're referencing data on a sheet, it isn't necessaryu to have the sheet active DIM MyArray as Variant MyArray = Workbooks("Mybook.xls").Worksheets("sheetx").Range ("MyData") this code pulls data from a named range into memory; but it does not require the workbook or worksheet to be active "KS Wong" wrote: Dear all, I have the following codes worked prefectly well in Windows 98 and Windows 2000. with workbooks("Control") .worksheets("Main").activate end with However after I put the excel file onto a Windows XP machine, it does not work anymore. I need to put extra code on the top of it. workbooks("Control.xls").activate with workbooks("Control") .worksheets("Main").activate end with Is this the way how it should be in Windows XP? It would be a nightmare to me as I would need to make a lot of modification in my program since there would be quite a lot switching between different workbooks in my program. Please advise! Thanks in advance |
It doesn't work in Windows XP?
Dear Patrick,
Thank you for your advice! It is strange that my original code worked fine in Windows 2000 and Windows 98 but not in Windows XP? It seems I need to put extra code on top of it to make it sure. Thanks! "Patrick Molloy" wrote: the specified sheet can only be activated if the workbook it belongs to is the active workbook. That's true of all O/S platforms. If only one workbook is open, then it is, by default, the active workbook. If there are several workbooks open, then you need to have the workbook activated. Often though, if you're referencing data on a sheet, it isn't necessaryu to have the sheet active DIM MyArray as Variant MyArray = Workbooks("Mybook.xls").Worksheets("sheetx").Range ("MyData") this code pulls data from a named range into memory; but it does not require the workbook or worksheet to be active "KS Wong" wrote: Dear all, I have the following codes worked prefectly well in Windows 98 and Windows 2000. with workbooks("Control") .worksheets("Main").activate end with However after I put the excel file onto a Windows XP machine, it does not work anymore. I need to put extra code on the top of it. workbooks("Control.xls").activate with workbooks("Control") .worksheets("Main").activate end with Is this the way how it should be in Windows XP? It would be a nightmare to me as I would need to make a lot of modification in my program since there would be quite a lot switching between different workbooks in my program. Please advise! Thanks in advance |
All times are GMT +1. The time now is 03:12 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com