1
5
我觉得你在这里很好:
但剩下的将是惊人的缓慢,正如你所发现的。与工作表的交互有很高的开销,您要为每行的每一列支付开销。有办法解决这个问题。 最简单的是
我建议你先试试。 |
2
2
看看这个。
|
3
1
一种可能是将其分为两个阶段,但这取决于瓶颈在哪里。 如果是excel,那么只需将记录集行转换为csv类型的文件,完成后,创建excel对象并将整个文件导入到一个固定位置。 这可能比一个细胞一个细胞的操作要快。 如果不能将csv导入到工作表的固定位置(或者单元格不在连续的行或列中),我会将csv导入到新工作表中,然后从该工作表向模板工作表进行批量复制。 移动范围也应该比逐个单元的操作快。 批量导入和批量复制应该会给您带来一些很好的改进。我有一些工作表处理单个单元格,当您使用更复杂的excel功能时,这些单元格的速度提高了10倍(考虑使用=sum(a1..a999),而不是在vba中将每个单元格相加并将该值放在某个位置)。
至于如何从vba导入,我总是依赖于
现在我确信里面的大部分垃圾都可以删除,但你最好一次一个地删除,以确保不会出现问题。 您还可以使用类似于以下内容的修改来使用不同的工作表。
|
4
0
您可以通过OLEDB连接访问它,而且速度会更快。 下面是我用来将数据从电子表格导入数据库的脚本中的一些代码。很明显,您会想要更改游标类型和锁类型,但是您已经知道了。
|
Benjamin Jones · vbscript.run显示输出 9 年前 |