VB - 如何初始化字符数组?

VB - How to initialise a character array?

我正在尝试按以下方式进行操作,但出现运行时错误 91 - 未设置对象变量

Dim columns(6) As Characters
Dim cColCount As Integer
Dim sColCount As Integer


columns(0) = A
columns(1) = B
columns(2) = C
columns(3) = D
columns(4) = E
columns(5) = F

我是 VB 的新手,所有在线资源仅显示整数示例和一些字符串数组。不幸的是,像New Integer(),一个字符数组似乎没有什么。

我应该如何处理字符数组?

VBA 认为 Characters 是一个范围的字符对象。参见 Characters object (Excel) Microsoft Docs

Dim columns(6) As Characters 定义了一个数组,但没有定义每个元素中的对象。如果您创建了自己的 class 名为 Characters 的内容,那么您可以对每个元素执行类似的操作

Set columns(0) = New Characters

但目前这也会产生错误(“无效使用 New 关键字”)

真正的问题是理解一组“字符”在VBA(以及许多其他语言)中称为字符串。 所以正如@braX 指出的那样,你需要使用 Dim columns(6) As String。因为 String 内置于 VBA 中,所以您不需要“初始化”数组中的每个实例。

您的下一个问题是了解字符串在 VBA 和许多其他语言中的表示方式。你不能只是在外面贴一个 A 然后希望 Excel 明白你指的是字母“A”。在 VBA 中,我们用 double-quotation 标记包围字符串,所以 columns(0) = "A" 就可以了。

或者,您必须定义变量 A,例如Dim A as String 并为其分配一个值,例如A = "A"

这里有几个其他链接可以帮助您完成旅程

Language Reference for VBA

Excel VBA Programming for complete beginners