8

我有一个硬件,我得到了 30 个数据点。在使工作表可见之前,这些点中的每一个都记录在电子表格中的几个不同位置,然后另一个程序接管 excel 电子表格。需要在其他程序接管之前将所有这些值写入电子表格。如果我单独写入每个单元格,则写入大约需要 50 毫秒,完成数据采集大约需要 1.25 秒。

如果我可以一次将所有值写入电子表格,我觉得这将显着加快所有这些单元格的写入速度。我看到的问题是 Ranges 非常适合更新我的数据不连续的连续单元格。本质上,这将是我想写的一个例子:
A1 = 1
B23 = a
F8 =
2012/12/25 D53 = 4.1235
B2 = 5

我尝试创建一个范围为“A1、B23、F8、D53、B2”,然后使用值数组设置值。我尝试了 3 个不同的数组:object[5]、object[1,5] 和 object[5,1]。这些都将范围内指定单元格的值设置为我在所有情况下创建的数组的第一个索引。

有没有一种方法可以更新这 30 个单元格数据,而无需一次遍历一个单元格?

谢谢,汤姆

4

3 回答 3

3

如果您的架构允许,另一个想法是使用具有连续矩形范围的隐藏工作表,为其部分设置名称并在所有其他工作表上使用这些名称。

于 2012-06-13T03:04:42.963 回答
0

我将定义一个矩形范围对象,其中包括要修改其值的所有单元格。object[,]从该范围的 value 属性中获取一个矩形数组。将新值写入数组,然后使用修改后的数组设置范围的值。

于 2012-05-16T05:36:55.003 回答
0

您可以将值写入位于某处的连续单元格,例如在 X 列中,并在目标单元格中​​包含引用这些更新单元格的公式。因此单元格 A1 将具有公式“=X1”,单元格 B23 将具有公式“=X2”,依此类推。

于 2012-06-08T15:01:51.357 回答