【发布时间】:2017-06-08 11:00:11
【问题描述】:
我有 500 个带有数据的 excel 文件。我会将所有这些数据合并到一个文件中。
实现这一目标的任务列表:
- 我想遍历文件夹中的所有文件
- 打开文件,
- 复制此范围“B3:I102”
- 将其粘贴到活动工作簿的第一张表中
- 重复但在下面粘贴新数据
我已经完成了任务 1-4,但我需要任务 5 的帮助,最后一点 - 将数据粘贴到现有数据下并使其成为动态数据。我在代码中用 '#### 突出显示了这一点。
这是我根据其他人的问题整理的代码:)
关于如何做到这一点的任何建议?
Sub LoopThroughFiles()
Dim MyObj As Object,
MySource As Object,
file As Variant
Dim wbThis As Workbook 'workbook where the data is to be pasted, aka Master file
Dim wbTarget As Workbook 'workbook from where the data is to be copied from, aka Overnights file
Dim LastRow As Long
Dim sht1 As Worksheet
Dim sht2 As Worksheet
'set to the current active workbook (the source book, the Master!)
Set wbThis = ActiveWorkbook
Set sht1 = wbThis.Sheets("Sheet1")
Folder = "\\dne\ldc\research-dept\3 CEEMEA\15. EMB\Turkey\TLC Overnight & Weekly Reports\weekly (majeed)\"
Fname = Dir(Folder)
While (Fname <> "")
Set wbTarget = Workbooks.Open(Filename:=Folder & Fname)
wbTarget.Activate
Range("b3:i102").Copy
wbThis.Activate
'################################
'NEED HELP HERE. I GET A ERROR HERE. NEEDS TO BE MORE DYNAMIC.
sht1.Range("b1:i100").PasteSpecial
Fname = Dir
'close the overnight's file
wbTarget.Close
Wend
End Sub
【问题讨论】:
标签: vba excel loops copy-paste