Quicker import macro

Lizard07

Board Regular
Joined
Jul 20, 2011
Messages
103
The import macro I currently have copies all the sheets from one workbook into another, but it takes hours! If there is a way to make it quicker I would definitely appreciate your help. The current code is below.

Sub ImportDriverTripReport()
Dim ImportItemCount, RowCount As Integer
Dim DCSwb, ImportWb As Workbook
Dim ImportDate As Integer
Dim FileLocation As String
Dim x As Integer

Application.StatusBar = "Please Select the file to Import..."
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlManual
'Import the driver trip report sheet
FileLocation = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
'::: IMPORT THE DATA INTO THE TEMPLATE :::
Set DCSwb = ActiveWorkbook
Application.StatusBar = "Importing File..."
'Opens the file the user specified
Workbooks.Open Filename:=FileLocation
Set ImportWb = ActiveWorkbook

For x = 1 To ActiveWorkbook.Sheets.Count
'Loop through each of the sheets in the workbook by using x as the sheet index number.
ActiveWorkbook.Sheets(x).Activate
ActiveWorkbook.Sheets(x).Copy _
After:=DCSwb.Sheets("Control Panel")
Workbooks.Open Filename:=FileLocation
Set ImportWb = ActiveWorkbook
'Puts all copies after the last existing sheet.

Application.StatusBar = Null

Next

ActiveWorkbook.Close True
End Sub
 

Excel Facts

Select a hidden cell
Somehide hide payroll data in column G? Press F5. Type G1. Enter. Look in formula bar while you arrow down through G.
Try this:
Code:
Sub ImportDriverTripReport()
    Dim ImportItemCount, RowCount As Integer
    Dim DCSwb, ImportWb As Workbook
    Dim ImportDate As Integer
    Dim FileLocation As String
    Dim x As Integer
    
    Application.StatusBar = "Please Select the file to Import..."
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlManual
    
    'Import the driver trip report sheet
    FileLocation = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
    '::: IMPORT THE DATA INTO THE TEMPLATE :::
    
    Set DCSwb = ActiveWorkbook
    Application.StatusBar = "Importing File..."
    
    'Opens the file the user specified
    Set ImportWb = Workbooks.Open(Filename:=FileLocation)
    
    For x = 1 To ImportWb.Sheets.Count
        ImportWb.Sheets(x).Copy After:=DCSwb.Sheets("Control Panel")
    Next
    
    ImportWb.Close savechanges:=False
    
    Application.StatusBar = Null
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub
 
Last edited:
Upvote 0

Forum statistics

Threads
1,224,583
Messages
6,179,671
Members
452,937
Latest member
Bhg1984

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top