Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I need to import many worksheets from different locations into one workbook.
Can I have a macro set up that will ask the user what file needs to be imported and as soon as the user enters the filename/filepath name . That file gets imported in the same format. Please help. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try this:
Sub GetSheets() Dim s As String Dim fd As FileDialog Dim ffs As FileDialogFilters Dim wb As Workbook Dim xb As Workbook Set xb = ActiveWorkbook 'Get user to pick file Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd Set ffs = .Filters With ffs .Clear .Add "Excel Files", "*.xls" End With .AllowMultiSelect = False If .Show Then s = .SelectedItems(1) End With 'Turn off prompts Application.DisplayAlerts = False 'Open chosen workbook Set wb = Workbooks.Open(s, False) Dim ws As Worksheet For Each ws In wb.Worksheets ws.Copy xb.Worksheets(1) Next ws 'Close workbook wb.Close 'Switch prompts back on Application.DisplayAlerts = True End Sub "kaler" wrote: I need to import many worksheets from different locations into one workbook. Can I have a macro set up that will ask the user what file needs to be imported and as soon as the user enters the filename/filepath name . That file gets imported in the same format. Please help. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Sam,
Thaks for your help. I tried the following code and it showed a run time error. Mesage reads, method 'copy' of object'worksheet failed. Any suggestions? Thank you. Sub GetSheets() Dim s As String Dim fd As FileDialog Dim ffs As FileDialogFilters Dim wb As Workbook Dim xb As Workbook Set xb = ActiveWorkbook 'Get user to pick file Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd Set ffs = .Filters With ffs .Clear .Add "Excel Files", "*.xls" End With .AllowMultiSelect = False If .Show Then s = .SelectedItems(1) End With 'Turn off prompts Application.DisplayAlerts = False 'Open chosen workbook Set wb = Workbooks.Open(s, False) Dim ws As Worksheet For Each ws In wb.Worksheets ws.Copy xb.Worksheets(1) Next ws 'Close workbook wb.Close 'Switch prompts back on Application.DisplayAlerts = True End Sub "kaler" wrote: I need to import many worksheets from different locations into one workbook. Can I have a macro set up that will ask the user what file needs to be imported and as soon as the user enters the filename/filepath name . That file gets imported in the same format. Please help. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
My code assumes that the book you point it at isn't open, so check that first. What version of excel do you have? I'm in excel 2003. "kaler" wrote: Sam, Thaks for your help. I tried the following code and it showed a run time error. Mesage reads, method 'copy' of object'worksheet failed. Any suggestions? Thank you. Sub GetSheets() Dim s As String Dim fd As FileDialog Dim ffs As FileDialogFilters Dim wb As Workbook Dim xb As Workbook Set xb = ActiveWorkbook 'Get user to pick file Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd Set ffs = .Filters With ffs .Clear .Add "Excel Files", "*.xls" End With .AllowMultiSelect = False If .Show Then s = .SelectedItems(1) End With 'Turn off prompts Application.DisplayAlerts = False 'Open chosen workbook Set wb = Workbooks.Open(s, False) Dim ws As Worksheet For Each ws In wb.Worksheets ws.Copy xb.Worksheets(1) Next ws 'Close workbook wb.Close 'Switch prompts back on Application.DisplayAlerts = True End Sub "kaler" wrote: I need to import many worksheets from different locations into one workbook. Can I have a macro set up that will ask the user what file needs to be imported and as soon as the user enters the filename/filepath name . That file gets imported in the same format. Please help. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
The file is closed and it is still showing that run time error. May be it is the version because I am in excel 2002. |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try re-typing the ws.copy below the line where you get the error and see what
intelli-sense says, it might be different syntax in 2002? "kaler" wrote: Hi, The file is closed and it is still showing that run time error. May be it is the version because I am in excel 2002. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort | Excel Worksheet Functions | |||
Call macro stored in Excel workbook from Outlook's macro | Excel Programming | |||
Need syntax for RUNning a Word macro with an argument, called from an Excel macro | Excel Programming | |||
translate lotus 1-2-3 macro into excel macro using excel 2000 | Excel Programming | |||
Excel Macro Issue Trying to autorun Macro Upon Opening Worksheet | Excel Programming |