|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
请问下,将同一目录下的多表合并的VBA在运行时,EXCEL默认的是按什么逻辑顺序将表格中的数据进行合并的?
1,按时间?
2,按文件名?
3,按文件的摆放顺序。。。?
还是有什么规则?
另外,如果要设置一个合并的顺序(按文件创建的时间或者名称),需要如何修改?{:soso_e183:}
代码如下:
Sub 同路径下的工作薄中合并到当前活动的工作表()
Application.ScreenUpdating = False
Dim lj As String, dirname As String, nm As String, m As Integer
Dim wb As Workbook, sht As Worksheet
Set sh = ActiveSheet
lj = ThisWorkbook.Path
nm = ThisWorkbook.Name
dirname = Dir(lj & "\*.xls")
Application.ScreenUpdating = False
sh.UsedRange.Clear
Do While dirname <> ""
If dirname <> nm Then
Set wb = GetObject(lj & "\" & dirname)
m = m + 1
With wb.Sheets(1)
If m = 1 Then
.UsedRange.Copy sh.Range("a1") '带表头
Else
.UsedRange.Offset(0, 0).Copy sh.Range("a65536").End(3).Offset(1) 'Offset(0, 0)中的1是表头只有1行,请自己修改
End If
End With
wb.Close False
End If
dirname = Dir
Loop
Application.ScreenUpdating = True
MsgBox "完毕"
End Sub
|
|