【发布时间】:2012-09-17 20:41:51
【问题描述】:
我需要将一些 csv 文件导入 excel 2010 并创建一个非常简单但非常大的数据库。
整个故事将是 - 五列和数千行。
VBA 也很简单 - 将数据从一张表复制到另一张表 - 反之亦然。
但我需要关心内存需求,因为文件可能非常大。
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim r1 As Range
Dim r2 As Range
Set ws1 = Sheets("01")
Set ws2 = Sheets("02")
Set r1 = ws1.Range("A1:B10") ' for example
Set r2 = ws2.Range("C5:D14")
r1.Copy Destination:=r2 'first way
r2.Value = r1.Value ' second way
这两种方法在内存/耗时范围内有什么区别吗?
在和我将有超过 10,000 行。文件的大小是多少?
【问题讨论】:
-
Is there any differences between this two methods, in the scope of memory/time consuming?试试看!尝试!尝试!在您的代码中放置一个计时器并相互测试您的方法。What will be the size of the file?与上述相同的答案。不看数据集就无法判断。 -
Instant- 取决于你对这个词的定义。对于您在 Excel 中的行大小,我怀疑您是否会找到符合您定义的任何内容。我在下面发布了一些用于 CSV 导入的代码,这些代码可能比打开 csv 并将数据从工作簿复制到工作簿更有效。如果没有帮助,请告诉我。我将作为“答案”删除。