我正在处理 3 个单独的 Excel 文件。一个(文件 D.xlsx)有数据,我将把它存储到一个数组中。一个(文件 M.xlsm)有宏,它对数据执行一些计算。一个(文件 T.xlsx)是一个包含 16 张 -3 列 x 1300 行的模板,其中一个单元格插入一个最终数组(如果重要的话,没有范围分配)。
完成填充模板后,我“另存为”,然后用下一系列数据覆盖它,然后“另存为”,依此类推。问题是每次运行都会增加 200 Kb,我需要有 150 个最终文件,这意味着最后一个文件将比模板大 30 Mb,在内容方面没有任何不同。
我已经尝试过:在不指定文件名扩展名的情况下保存它 - 没有变化。将其保存为二进制 - 只是在较小的规模(每次运行 +10 kb)的相同问题。禁用工作簿的自动恢复 - 没有变化。禁用/启用更新、状态栏、事件等 - 没有变化。只插入值 <> 0 - 没有变化。
For q = 1 To UBound(arrTotals, 2) Step 3
For n = 1 To UBound(arrTotals, 1)
wbTEM.Worksheets(wsN).Cells(n, q).Value = arrTotals(n, q)
wbTEM.Worksheets(wsN).Cells(n, q + 1).Value = arrTotals(n, q + 1)
wbTEM.Worksheets(wsN).Cells(n, q + 2).Value = arrTotals(n, q + 2)
Next n
If (q + 2) Mod 48 = 0 Then
wbTEM.SaveAs FileName:=pathx & arrNames(wbN) & ".xlsb", FileFormat:=50
End If
Next q
结果数组是一个双精度数组,但我们不是在谈论天文数据,无论如何这些值或多或少是相同的,所以我希望所有文件的大小相同,而不是持续增加它们的大小。
问题是您添加数据的 Excel 文件未按预期清理。所以你的文件的行数会增加。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句