0
我想将多个excel文件合并成一个文件。我能够正确地做到这一点,但我想放置数据的位置正在遇到一个小问题。如何将excel数据导入新的工作簿?
我希望我的数据在单元格A2的标题行下开始(粘贴),但由于我的表格被格式化为具有命名范围的表格,我的数据被粘贴在该空白表格的最后一行的下方。这是我用来粘贴数据的代码。
Sub CombineFiles()
Dim path As String, ThisWB As String, lngFilecounter As Long
Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet
Dim Filename As String, Wkb As Workbook
Dim CopyRng As Range, Dest As Range
Dim RowofCopySheet As Integer
ThisWB = ActiveWorkbook.Name
path = "C:\MyFolder"
RowofCopySheet = 2
Application.EnableEvents = False
Application.ScreenUpdating = False
Set shtDest = ActiveWorkbook.Sheets("Import")
Range("A2").Select
Filename = Dir(path & "\*.xl??", vbNormal)
If Len(Filename) = 0 Then Exit Sub
Do Until Filename = vbNullString
If Not Filename = ThisWB Then
Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename)
Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, Cells(1, Columns.Count).End(xlToLeft).Column))
Set Dest = shtDest.Range("A" & shtDest.Cells(Rows.Count, 1).End(xlUp).Row + 1)
CopyRng.Copy
Dest.PasteSpecial xlPasteFormats
Dest.PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False 'Clear Clipboard
Wkb.Close False
End If
Filename = Dir()
Loop
Sheets("Import").Select
Range("A1").Select
End Sub
是否有任何更改可以对代码或表格中的单元格内容进行设置以使其正常工作?谢谢您的帮助!
你是正确的剪贴板占用时间和资源。这段代码实际上是想从工作簿中的其他工作表复制数据是否正确?我的代码是从多个文件中提取的。我将用完整的代码编辑我的帖子。 – Dennis
在此期间,请看它在一本工作簿中正常工作。 Ii在这里很晚,明天我将能够看到它。 – skkakkar