相关疑难解决方法(0)

Excel VBA:1步到字符串数组的范围

我知道你可以轻松地获取一系列单元格并将它们打成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:答案是西蒙,他付出了很大的努力(其他人也是如此),并且完全指出,一次性从阵列到阵列阵列确实是不可能的.感谢大家.

arrays string excel vba range

21
推荐指数
2
解决办法
8万
查看次数

标签 统计

arrays ×1

excel ×1

range ×1

string ×1

vba ×1