我开始学习VB编码(已经2天)。到现在为止还挺好。但我需要帮助将文件夹中的多个文件复制到单个指定的工作表(或活动工作表)中。我在网上查询,并基于这一点,我能够得到它的工作。问题是复制第一个文件后,下一个文件被复制到第一个文件数据下面的行中。我想更改下一列的代码而不是最后一行。每个文件都是3列,所以基本上File1数据将是前3列,然后文件2将是列4-6,依此类推。这意味着每个数据的行都是相同的。我试图修改代码来实现这一点,但迄今没有运气...VBA代码将多个文件复制到单个指定的Excel表
Sub CombineMultipleFiles()
' Path - modify as needed but keep trailing backslash
Const sPath = "C:\My_stuff\Test\"
Dim sFile As String
Dim wbkSource As Workbook
Dim wSource As Worksheet
Dim wTarget As Worksheet
Dim lRows As Long
Dim lMaxSourceRow As Long
Dim lMaxTargetRow As Long
Dim lMaxTargetColumn As Long
'Dim blnNoHeader As Boolean
Application.ScreenUpdating = False
'lMaxTargetRow = 0
Set wTarget = ActiveSheet
lRows = wTarget.Rows.Count
sFile = Dir(sPath & "*.s1p*")
Do While Not sFile = ""
Set wbkSource = Workbooks.Open(Filename:=sPath & sFile, AddToMRU:=False)
For Each wSource In wbkSource.Worksheets
lMaxSourceRow = wSource.Cells(lRows, 1).End(xlUp).Row
lMaxTargetRow = wTarget.Cells(lRows, 1).End(xlUp).Row
wSource.Range("1:" & lMaxSourceRow).Copy _
Destination:=wTarget.Cells(lMaxTargetRow + 1, 1)
Next
wbkSource.Close SaveChanges:=False
sFile = Dir
'MsgBox lMaxTargetRow
Loop
Application.ScreenUpdating = True
End Sub
谢谢你的帮助。代码运行良好。 – user3527910