|
其实问题很简单,首先lz的需要提取数据的工作表(这里你指的工作表是workbook,还是worksheet?下面的例子是按每个独立workbook做的)的文件名有规律么?如果有规律那可以写循环,其次,每个工作表需要提取数据的范围是固定的?如果是固定的,其实一个循环就可以搞定~~下面是个范例,lz可以参考下。。。
Sub 读取数据()
On Error Resume Next '避免读取文件时有间隔,但第一次调试时最好改成注释
Dim i As Integer, j As Integer
For i = 0 To 9
Application.DisplayAlerts = False
ChDir "E:\Downloaded Data\201006"
Application.Workbooks.Open "E:\ Downloaded Data\201006" & "\" & i & "-Jun-10" & ".csv" '需要改
Sheets( i & "-Jun-10").Select 'worksheet名字
Range("A:D").Select ‘范围。。
Selection.Copy
Windows("合并文件.xls").Activate ’当前宏所在的workbook,如果是worksheet的话可以省略
Worksheets.Add().Name = "2010060" & i
Range("A:D").select '这里需要特别注意,粘贴的目标范围,可以通过上面同样的例子写循环实现
Selection.Paste
next i
end sub
|