ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Use Array to activate workbooks (https://www.excelbanter.com/excel-programming/284148-use-array-activate-workbooks.html)

Stuart[_5_]

Use Array to activate workbooks
 
The following code works fine, in a situation where the workbooks
are originally opened, worked on, and then closed. FilesArray
holds the names of the previously opened workbooks, and can be
used again to open the books:

If FileCounter 0 Then
Application.ScreenUpdating = False
For LoopCounter = 1 To FileCounter
Workbooks.Open vFilename & FilesArray(LoopCounter), False

In a slightly different situation, the books are still open. Can I modify
the
code and use FilesArray to activate them in turn?

What I'd like to say, is:
Workbooks.Activate vFilename & FilesArray(LoopCounter), False
but that is not supported (Excel2000).

Regards.



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003



Tom Ogilvy

Use Array to activate workbooks
 
if filesarray contains just the name of the workbook and not the path
ex: myworkbook.xls vice c:\myfiles\myworkbook.xls

then you can

Workbooks(filesarray(counter)).Activate

Do you know they are all open or do you need to text and either if open,
then activate or if not open open and activate?

--
regards,
Tom Ogilvy

"Stuart" wrote in message
...
The following code works fine, in a situation where the workbooks
are originally opened, worked on, and then closed. FilesArray
holds the names of the previously opened workbooks, and can be
used again to open the books:

If FileCounter 0 Then
Application.ScreenUpdating = False
For LoopCounter = 1 To FileCounter
Workbooks.Open vFilename & FilesArray(LoopCounter), False

In a slightly different situation, the books are still open. Can I modify
the
code and use FilesArray to activate them in turn?

What I'd like to say, is:
Workbooks.Activate vFilename & FilesArray(LoopCounter), False
but that is not supported (Excel2000).

Regards.



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003





Bernie Deitrick

Use Array to activate workbooks
 
Stuart,

For XL2000 onward, where InStrRev exists:

Dim myName As String

For LoopCounter = LBound(FilesArray) to UBound(FilesArray)

myName = FilesArray(LoopCounter)
Workbooks(Mid(myName, InStrRev(myName, "\") + 1)).Activate
'Do other stuff here

Next LoopCounter

HTH,
Bernie
MS Excel MVP

"Stuart" wrote in message
...
The following code works fine, in a situation where the workbooks
are originally opened, worked on, and then closed. FilesArray
holds the names of the previously opened workbooks, and can be
used again to open the books:

If FileCounter 0 Then
Application.ScreenUpdating = False
For LoopCounter = 1 To FileCounter
Workbooks.Open vFilename & FilesArray(LoopCounter), False

In a slightly different situation, the books are still open. Can I

modify
the
code and use FilesArray to activate them in turn?

What I'd like to say, is:
Workbooks.Activate vFilename & FilesArray(LoopCounter),

False
but that is not supported (Excel2000).

Regards.



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003





Stuart[_5_]

Use Array to activate workbooks
 
Many thanks to you both. Will look at your solutions.

Yes, FilesArray holds only the book names, not the path.

I will need to post back here, I fear.

Regards and thanks, both.

"Tom Ogilvy" wrote in message
...
if filesarray contains just the name of the workbook and not the path
ex: myworkbook.xls vice c:\myfiles\myworkbook.xls

then you can

Workbooks(filesarray(counter)).Activate

Do you know they are all open or do you need to text and either if open,
then activate or if not open open and activate?

--
regards,
Tom Ogilvy

"Stuart" wrote in message
...
The following code works fine, in a situation where the workbooks
are originally opened, worked on, and then closed. FilesArray
holds the names of the previously opened workbooks, and can be
used again to open the books:

If FileCounter 0 Then
Application.ScreenUpdating = False
For LoopCounter = 1 To FileCounter
Workbooks.Open vFilename & FilesArray(LoopCounter), False

In a slightly different situation, the books are still open. Can I

modify
the
code and use FilesArray to activate them in turn?

What I'd like to say, is:
Workbooks.Activate vFilename & FilesArray(LoopCounter), False
but that is not supported (Excel2000).

Regards.



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003






---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003




All times are GMT +1. The time now is 09:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com