Hi Experts,

Currently I am using below code to merge a set of excel files in one file,
but I have to change the path in code, each time for run this code. So if
we can assign a path at the time of running this code, would be helpful. So
please assist.
I have highlighted the code, where am assigning the path to get the .xls
files in that folder & merge them.,

Note- This code create a merged file in the same workbook.

Code--

Sub Merge_Files()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim i As Long
Dim col_no As Long, row_no As Long
Dim arr_ws As Variant
Dim ws1 As Worksheet, wb1 As Workbook
Dim col_ws1 As Long, row_ws1 As Long

Set wb1 = ThisWorkbook
Set ws1 = ActiveSheet

'Create an instance of the FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Get the folder object
Set objFolder = objFSO.GetFolder("C:\Users\Desktop\(Tech-Specs 3.4)\BULK
Excel")
i = 0
'loops through each file in the directory and prints their names and path
For Each objFile In objFolder.Files
    i = i + 1
    Workbooks.Open FileName:=objFile
    row_no = ActiveSheet.Range(Cells(Rows.Count, 1), Cells(Rows.Count,
1)).End(xlUp).Row
    col_no = ActiveSheet.Range(Cells(1, Columns.Count), Cells(1,
Columns.Count)).End(xlToLeft).Column
    arr_ws = ActiveSheet.Range(Cells(1, 1), Cells(row_no, col_no))
    ActiveWorkbook.Close savechanges = no
    ws1.Activate
        If ws1.Range("A1").Value <> "" Then
            row_ws1 = ActiveSheet.Range(Cells(Rows.Count, 1),
Cells(Rows.Count, 1)).End(xlUp).Row + 1
            col_ws1 = ActiveSheet.Range(Cells(1, Columns.Count), Cells(1,
Columns.Count)).End(xlToLeft).Column
        Else
            row_ws1 = 1
            col_ws1 = 1
        End If
    ws1.Range(Cells(row_ws1, 1), Cells(row_ws1 + row_no - 1, col_no)) =
arr_ws

Next objFile
End Sub



-- 

With Regard !!!
Devendra Rahi

Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please
Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice
will not get quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security
measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE : Don't ever post confidential data in a workbook. Forum owners and
members are not responsible for any loss.
---
You received this message because you are subscribed to the Google Groups
"MS EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at http://groups.google.com/group/excel-macros.

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.

Reply via email to