ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   It doesn't work in Windows XP? (https://www.excelbanter.com/excel-programming/329440-doesnt-work-windows-xp.html)

KS Wong[_2_]

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



Patrick Molloy[_2_]

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



KS Wong[_2_]

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