求合并工作簿的VBA,工作簿中含有很多公式,有什么好的办法吗? 100
合并时去除公式,以当时的结果为最终结果,无需合并后重新VLOOKUP。打开的文件的时候可以带参数禁止提示是否更新。示例代码如下图:
代码文本如下:
Option Explicit
Sub 合并工作簿()
Dim st As Worksheet, arr, n, i, p, f
Set st = ActiveSheet '数据合并到的结果工作表
p = "d:\需要合并的文件所在的文件夹\" '必须以\结尾
f = Dir(p & ".xls?")
While f <> ""
With Workbooks.Open(p & f, False, True) '只读、不更新打卡扫描到的文件
n = st.UsedRange.Rows.Count '汇总结果表已有行数
i = .Sheets("汇总").UsedRange.Rows.Count
If n = 1 Then
'汇总表为,合并的第一个文件
arr = .Sheets("汇总").Range("a1").Resize(i - 14, 20) '获取A1开始的内容,去掉合计开始的14行
Else
'后续文件
n = n + 1
arr = .Sheets("汇总").Range("a3").Resize(i - 16, 20) '获取A3开始、合计之前的行
End If
st.Cells(n, 1).Resize(UBound(arr), UBound(arr, 2)) = arr '文件中的内容以数值方式填入汇总表
.Close False '关闭文件,不保存
End With
f = Dir
Wend
End Sub
你的思路非常好,正是我要的效果,但是我不会敲代码,有时间帮忙敲一下吗?财富值可以给足
没有参考格式的表,打代码时间花费多。你自己先试试吧。有了个初稿,后边很容易的。
2021-09-30 · 知道合伙人软件行家