首页 > 解决方案 > 将范围中的字符串添加到数组中

问题描述

现在这听起来很傻,因为它看起来很简单,但我无法理解如何声明一个可以将范围中的字符串作为值的单维数组。这是我想要做的。

Sub myArr()
Dim V(1 To 2) As String
V(1) = "Hello"
V(2) = "World"
'V = Range("A1:A2").Value 'What is wrong in this syntax?
End Sub

我在 A1:A2 范围内有两个字符串“Hello”和“World”。我搜索它并看到一些文章,其中编写了循环以将范围内的所有字符串值放入字符串类型的数组中。如何以单行语法将其放入数组中。有没有办法做到这一点?请帮忙。

编辑:为了更好的解释

我正在寻找一个一维数组,并想检查是否有单行代码可以将范围值放入数组中,该数组应该是字符串类型,而不必循环其元素。我已经更新了我的问题。请看一下。

如果我遍历元素,我会得到这样的东西 在此处输入图像描述

但我正在寻找像下面这样的字符串类型值,其中包含一个衬里代码 在此处输入图像描述

标签: excelvba

解决方案


如果范围是一列,则使用Transpose,提供少于 65,537 行。

Sub myArr()
    Dim V As Variant, i As Long
    V = Application.Transpose(Range("A1:A2").Value)
    For i = LBound(V) To UBound(V)
        Debug.Print i, V(i)
    Next
End Sub

推荐阅读