I have this code that does indeed work, but it is transposing the data. I have tried to change the x and y coordinates but still no luck.
Does anyone know how to change this to where the code copy vertically instead of horizontally?
I found the code somewhere on ExcelVBAISFUN.com sorry I couldn't find the link again.
HAPPY BIRTHDAY BILL JELEN!
Does anyone know how to change this to where the code copy vertically instead of horizontally?
Code:
Sub getDataFromWbs()
Dim wb As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.FileSystemObject")
'This is where you put YOUR folder name
Set fldr = fso.GetFolder("C:\users\NicholK\Work Folders\Documents\ERP\")
'Next available Row on Master Workbook
y = ThisWorkbook.Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Loop through each file in that folder
For Each wbFile In fldr.Files
'Make sure looping only through files ending in .xlsx (Excel files)
If fso.GetExtensionName(wbFile.Name) = "xlsx" Then
'Open current book
Set wb = Workbooks.Open(wbFile.Path)
'Loop through each sheet (ws)
For Each ws In wb.Sheets
'Last row in that sheet (ws)
wsLR = ws.Cells(Rows.Count, 1).End(xlUp).Row
'Loop through each record (row 2 through last row)
For x = 4 To wsLR
'Put column 1,2,3 and 4 of current sheet (ws) into row y of master sheet, then increase row y to next row
ThisWorkbook.Sheets("sheet1").Cells(y, 1) = ws.Cells(x, 1) 'col 1
ThisWorkbook.Sheets("sheet1").Cells(y, 2) = ws.Cells(x, 2)
ThisWorkbook.Sheets("sheet1").Cells(y, 3) = ws.Cells(x, 3)
ThisWorkbook.Sheets("sheet1").Cells(y, 4) = ws.Cells(x, 4)
ThisWorkbook.Sheets("sheet1").Cells(y, 4) = ws.Cells(x, 5)
ThisWorkbook.Sheets("sheet1").Cells(y, 4) = ws.Cells(x, 6)
y = y + 1
Next x
Next ws
'Close current book
wb.Close
End If
Next wbFile
End Sub
I found the code somewhere on ExcelVBAISFUN.com sorry I couldn't find the link again.
HAPPY BIRTHDAY BILL JELEN!