This code works but I need it to transpose when copying

Kurt

Well-known Member
Joined
Jul 23, 2002
Messages
1,648
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?

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!
 

Some videos you may like

Excel Facts

Easy bullets in Excel
If you have a numeric keypad, press Alt+7 on numeric keypad to type a bullet in Excel.

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
46,350
Office Version
  1. 365
Platform
  1. Windows
Rather than posting code that doesn't work, can you explain what you are trying to do?
Especially when you say
but it is transposing the data
which it isn't. It's copying a row of data to another sheet as a row.
 

Watch MrExcel Video

Forum statistics

Threads
1,109,050
Messages
5,526,494
Members
409,704
Latest member
saialkesh

This Week's Hot Topics

Top