Cez*_*ary 1 excel vba excel-vba
我有一个包含一些数据的工作簿,我想过滤,然后将过滤后的数据保存到新工作簿.功能如下:
Sub bleh()
For Each i In Number
~~ filter, copy, paste, save ~~
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
除了优化代码,它更快更安全
或者别的什么?
谢谢您的意见.
1,300个文件?忘记VBA,忘记甚至Excel互操作.
我会使用一些C#或VB.NET,并使用OpenXML来处理文件的结构,异步生成内存中的1,300个OpenXML文档(即工作簿)(希望每张表没有数十万行数据),然后,一旦掌握了所有需要知道的内容,请迭代所有这些工作簿对象并按顺序将它们保存到磁盘(可能显示进度条或其他内容).无论如何,使I/O异步都无济于事.
每个文件写入都将被包装在一个try/catch块中,并且过程中抛出的任何异常都将通过记录足够的信息以便稍后识别失败的工作表来处理(可以输出到该进度条下的锁定文本框),然后继续尝试下一个.
在VBA中执行此操作将永远运行:为每个工作簿创建,保存和关闭4秒 - 您的宏将运行至少5,200秒,这几乎是一个半小时.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |