ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to call out "other" open book (https://www.excelbanter.com/excel-programming/393500-how-call-out-other-open-book.html)

CLR

How to call out "other" open book
 
Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3



Zone[_3_]

How to call out "other" open book
 
Chuck, well, you could use something like
For k=1 to workbooks.count
if workbooks(k).name<activeworkbook.name then
workbooks(k).activate
exit for
end if
Next k
But what if more than 2 workbooks are open? How will Excel know which
one you want? James

On Jul 17, 7:42?am, CLR wrote:
Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3




Zone[_3_]

How to call out "other" open book
 
Chuck,
You could use something like
For k=1 to workbooks.count
if workbooks(k).name<activeworkbook.name then
workbooks(k).activate
exit for
end if
next k

But what if more than 2 workbooks are open? Then the "other" workbook
could be one of several. James

On Jul 17, 7:42?am, CLR wrote:
Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3




CLR

How to call out "other" open book
 
Cool.........that worked fine James, many thanks.
The opening and closing of additional workbooks is done in this instance
only under program control, so there will never be more than one "other" one
open at a time....but thanks for the concern....and thanks again for the help.

Vaya con Dios,
Chuck, CABGx3





"Zone" wrote:

Chuck,
You could use something like
For k=1 to workbooks.count
if workbooks(k).name<activeworkbook.name then
workbooks(k).activate
exit for
end if
next k

But what if more than 2 workbooks are open? Then the "other" workbook
could be one of several. James

On Jul 17, 7:42?am, CLR wrote:
Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3





Tom Ogilvy

How to call out "other" open book
 
If only two visible windows (this will eliminate Personal.xls from the mix as
an example)

Sub BBB()
Dim WinDw As Window
For Each WinDw In Application.Windows
If WinDw.Visible = True And _
WinDw.Caption < ThisWorkbook.Windows(1).Caption Then
WinDw.Activate
MsgBox WinDw.Caption
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"CLR" wrote:

Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3



CLR

How to call out "other" open book
 
Thanks Tom........didn't consider personal.xls. Although most of my users
don't have one, this will take care of the ones that do.........thanks again.

Vaya con Dios,
Chuck, CABGx3



"Tom Ogilvy" wrote:

If only two visible windows (this will eliminate Personal.xls from the mix as
an example)

Sub BBB()
Dim WinDw As Window
For Each WinDw In Application.Windows
If WinDw.Visible = True And _
WinDw.Caption < ThisWorkbook.Windows(1).Caption Then
WinDw.Activate
MsgBox WinDw.Caption
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"CLR" wrote:

Hi All.........
I have a little macro that works fine. However, I would like to change a
part of it that calls out the "other open workbook" to NOT be
hardcoded.......that is, to change the lines that read

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

to something that will do the same thing, but does not require the name
"ItemMaster.XLS" to be hard coded in, so that it will be selected no matter
what name it might be.

Here's the whole macro for reference....

Sub ObtainNewData()
Dim s As String
s = Range("MainMenu!c17").Value
If Range("c17").Value < "" Then
Workbooks.Open FileName:=s
Else
MsgBox s & " Not found"
End If
Sheets("sheet1").Select
Sheets("sheet1").Copy After:=ThisWorkbook.Sheets("MainMenu")

Windows("ItemMaster.XLS").Activate
ActiveWindow.Close

Sheets("sheet1").Name = "ImportedData"
Sheets("MainMenu").Select
Range("e21").Select
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3




All times are GMT +1. The time now is 10:07 PM.

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