Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello:
I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try something like
For Each wb In Application.Workbooks Msgbox wb.Name Next wb in other words, you use the wb object instead of the workbook, such as Set UTIL = wb.Sheets("Sheet1") BTW, you don't need to use Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") you can simply use Set UTIL = ActiveWorkbook.Sheets("Sheet1") -- HTH RP (remove nothere from the email address if mailing direct) "Marty" wrote in message ... Hello: I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Looks simple enough. Thanks Bob.
(and thanks for the tip about omitting "Workbooks" and ".Name") "Bob Phillips" wrote: Try something like For Each wb In Application.Workbooks Msgbox wb.Name Next wb in other words, you use the wb object instead of the workbook, such as Set UTIL = wb.Sheets("Sheet1") BTW, you don't need to use Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") you can simply use Set UTIL = ActiveWorkbook.Sheets("Sheet1") -- HTH RP (remove nothere from the email address if mailing direct) "Marty" wrote in message ... Hello: I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Marty,
Don't open the workbooks before hand - use a macro to open them. See example code below. HTH, Bernie MS Excel MVP Sub OpenMultipleUserSelectedFiles2() Dim filearray As Variant Dim myBook As Workbook filearray = Application.GetOpenFilename(MultiSelect:=True) If IsArray(filearray) Then For i = LBound(filearray) To UBound(filearray) Workbooks.Open filearray(i) Set myBook = ActiveWorkbook 'Do things here to myBook.Sheets("Sheetname").Range, etc... myBook.Close False ' to close without saving... Next i End If End Sub "Marty" wrote in message ... Hello: I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Intriguing. I'll have to play around with it before I fully understand what
it does. Thanks for the solution Bernie. "Bernie Deitrick" wrote: Marty, Don't open the workbooks before hand - use a macro to open them. See example code below. HTH, Bernie MS Excel MVP Sub OpenMultipleUserSelectedFiles2() Dim filearray As Variant Dim myBook As Workbook filearray = Application.GetOpenFilename(MultiSelect:=True) If IsArray(filearray) Then For i = LBound(filearray) To UBound(filearray) Workbooks.Open filearray(i) Set myBook = ActiveWorkbook 'Do things here to myBook.Sheets("Sheetname").Range, etc... myBook.Close False ' to close without saving... Next i End If End Sub "Marty" wrote in message ... Hello: I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
not sure if you can but you do have a list of range names
in the upper left corner of you sheet. click the down arrow next to the box that usually has a cell address in it. you named ranges will be there. also your print ranges and any exteranl data ranges. click one and go to it. -----Original Message----- Hello: I'm using Excel 2003. I have a workbook (utility.xls) which I use to extract data from other workbooks. Currently, I have the code written in the utility which forces the name of the other workbook to be named something specific. In this case, "Cost Data.xls": Dim UTIL, COST as Object Set UTIL = Workbooks(ActiveWorkbook.Name).Sheets ("Sheet1") Set UTIL = Workbooks("Cost Data.xls").Sheets("Sheet1") {and so forth} UTIL is intended to extract data from several workbooks, but right now I can only do them one at a time and I have to name each one "Cost data.xls" before doing the extraction. HERE IS MY QUESTION: Is there a way to get Excel to recognize all of the open workbooks by their names (say I want to do five at a time) without renaming them and having to specify a name(s) in my code? Thanks in advance. MARTY . |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
trying to get sheet 1 to recognize and move student names to pg 2 | Excel Worksheet Functions | |||
workbooks names used | Excel Discussion (Misc queries) | |||
Workbooks with variable names | Excel Programming | |||
Open workbooks with different names | Excel Programming | |||
VB Editor doesn't "recognize" open workbooks | Excel Programming |