在运行时错误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很陌生,所有的在线资源都只显示了Integer和一些字符串数组的例子。不幸的是,像New Integer()
一样,似乎没有字符数组。
我对字符数组的方法应该是什么?
发布于 2022-05-21 12:44:46
VBA认为Characters
是范围的字符对象。请参阅字符对象(Excel) Microsoft文档
Dim columns(6) As Characters
定义一个数组,但不定义每个元素中的对象。如果您已经创建了自己的名为字符的类,那么您可以对每个元素执行类似的操作
Set columns(0) = New Characters
但目前,这也将产生一个错误(“无效使用新关键字”)
真正的问题是理解一组“字符”在VBA (和许多其他语言)中称为字符串。因此,正如@braX所指出的,您需要使用Dim columns(6) As String
。因为字符串内置于VBA,所以不需要“初始化”数组中的每个实例。
下一个问题是理解字符串是如何用VBA和许多其他语言表示的。你不能只是把一个A
放在外面,希望Excel能理解你的意思-- "A“。在VBA中,我们用双引号环绕字符串,这样columns(0) = "A"
就可以了。
或者,您必须定义变量A(例如Dim A as String
),并给它赋值(例如A = "A"
)
这里有几个其他的链接可以帮助你在旅途中
https://stackoverflow.com/questions/72327212
复制相似问题