在Lotus123中有没有一种快速的方法将一个范围内的所有单元格值都放入一个数组中。我正在寻找类似于Excel VBA的东西,在那里它非常快。
Dim arrValues() As Variant
arrValues = rg.Value
还可以操作结果数组并将其放回工作表中;在我的示例中,我希望将其放入Excel中。基本上取代了复制和粘贴。对内存中的数组进行操作比一次操作一个单元要快得多。
我知道如何通过一次读取一个单元格来做到这一点,但我正在寻找一种类似于Excel的更快的方法。
'Lotus Script
Dim r As Range
Set r = CurrentDocument.Ranges("A:A1..A:D4")
Dim x, y As Integer
For x = 0 To 3
For y = 0 To 3
Print (r.Cell(x, y).cellvalue)
Next
Next
请注意,我特别没有使用VBA进行标记,因为只有了解Lotus Script的人才能回答这个问题。这与VBA无关。
如何将Lotus 123范围值放入数组?
发布于 2018-07-03 03:16:00
在帮助文件中找到了这个:Range.GetCellData
方法。
获取某个范围中的数据,该范围作为指向各个单元格内容的一组指针进行引用。此方法为复制范围的内容分配内存,设置内存中的值,并返回外部C程序可以使用的数组指针。
语法
arraypointer =range.GetCellData(单元数据类型)
参数单元数据类型
变量(CellDataType枚举)。返回单元格数据的格式。下表列出了此参数的允许值。
值和描述
返回值:
长。指向指针数组的指针,范围中的每个单元格对应一个指针数组。该数组按行/列/工作表排序。例如,表示范围A:A1..B:B2的数组将以A:A1、A:A2、A:B1、A:B2、B:A1、B:A2、B:B1、B:B2的顺序给出。
使用
此方法在内部为返回的数组分配内存,调用方必须释放该内存。
https://stackoverflow.com/questions/51140920
复制相似问题