我知道你可以轻松地获取一系列单元格并将它们打成Variant数组,但我想使用字符串数组(因为它是单维的,占用的内存比Variant数组少).
有没有办法自动将范围转换为字符串数组?
现在我正在使用一个函数来获取范围并将值保存在变量数组中,然后将变量数组转换为字符串数组.它工作得很好,但我正在寻找一种直接从范围到字符串数组的方法.任何帮助将不胜感激.
Function RangeToArray(ByVal my_range As Range) As String()
Dim vArray As Variant
Dim sArray() As String
Dim i As Long
vArray = my_range.Value
ReDim sArray(1 To UBound(vArray))
For i = 1 To UBound(vArray)
sArray(i) = vArray(i, 1)
Next
RangeToArray = sArray()
End Function
Run Code Online (Sandbox Code Playgroud)
更新:在将数据转换为一维字符串数组之前,看起来没有办法跳过将数据抛入变量数组的步骤.如果它是真的是一种耻辱(即使它不需要太多努力,我喜欢超优化,所以我希望有一种方法可以跳过这一步).如果没有解决方案,我会在几天内结束这个问题.谢谢你的帮助,伙计们!
更新2:答案是西蒙,他付出了很大的努力(其他人也是如此),并且完全指出,一次性从阵列到阵列阵列确实是不可能的.感谢大家.