Open workbook "inactive"

H

Helmut

I open a workbook which has a different name each month - against this
workbook I run a PERSONAL.xls macro which requires that workbook
"Employees.xlsx" is open in the background.
How can I as first item in the Personal.xls-macro open this "Employees.xlsx"
workbook so it is "inactive" and the rest of the macro runs against the
firstly opened workbook which has a different name each month?
 
J

Jarek Kujawa

this month yr workbook is "March.xls"

let's presume you only open this a/m file

Edit the macro and put the following in the beginnig/as the first
command:

Workbboks(namethefullpath & "\" & "Employees.xlsx").Open
Workbooks("March.xls).Activate

then run the macro

Hope I didn't miss sth.

;-)
 
H

Helmut

Hi Jarek,
What you call "March.xls" is each month different, thus I cannot insert:
Workbooks("March.xls).Activate
since I don't know the name of the file until I actually get it and open it.

To re-itereate:
1. I manually open whatever the mothly file is called
2. I then want to run a PERSONAL.xls "macro1" against that opened file
BUT
FIRST I have to open "Employees.xlsx".
So the PERSONAL.xlsx "macro1" needs to have as its first line:
Workbooks("Employees.xlsx").Open
BUT NOW I have to make this "inactive" and run the rest of the 'MACRO1'
against the other first opened workbook.

Understand??
 
J

Jarek Kujawa

presume your Personal.xls is hidden

then after Workbooks("Employees.xlsx").Open

put this

ActiveWindow.ActivateNext

does this help?
 
A

Andy444

Hi Helmut

One solution would be to open the monthly workbook as part of the macro as
follows and assign it to a variable as follows:

Dim wkbThisMonthsWorkbook As Workbook
Dim bOpened As Boolean

bOpened = Application.FindFile
If Not bOpened Then Exit Sub

Set wkbThisMonthsWorkbook = Workbooks(Workbooks.Count)

Call Workbooks.Open("Employees.xlsx")

wkbThisMonthsWorkbook.Activate

HTH
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top