Arrays VBA数组:";Testarray(10)“–;这个*的初始值是多少,没有*给*任何*单元格*赋值*任何*值?

Arrays VBA数组:";Testarray(10)“–;这个*的初始值是多少,没有*给*任何*单元格*赋值*任何*值?,arrays,vba,excel,initialization,Arrays,Vba,Excel,Initialization,当我在VBA中编程时,我想将数组初始化为 Dim Testarray(10) As String 现在:这个数组的初始值是多少 或者用另一种方式问:我想用这个Testarray来找出某些值。然后将这些特定值更改为“缺行”或任何形式。这样,我就可以在以后检查所有数组值,以便通过相应的数组查找缺失值的数量,例如,通过for-循环或类似的方式 (附加问题:现在,我正在学习如何编写VBA代码。数组的名称是否总是必须以大写字母开头?还是也可以以小写字母开头?字符串的默认值是空字符串”) 至于奖金问题,请

当我在VBA中编程时,我想将数组初始化为

Dim Testarray(10) As String
现在:这个数组的初始值是多少

或者用另一种方式问:我想用这个
Testarray
来找出某些值。然后将这些特定值更改为
“缺行”
或任何形式。这样,我就可以在以后检查所有数组值,以便通过相应的数组查找缺失值的数量,例如,通过
for
-循环或类似的方式


附加问题:现在,我正在学习如何编写VBA代码。数组的名称是否总是必须以大写字母开头?还是也可以以小写字母开头?

字符串的默认值是空字符串


至于奖金问题,请简短回答——不,没关系。答案很长-vba本身不区分大小写,也就是说,您可以在任意大小写中定义名称,然后在相同或不同的大小写中引用它们。但是,大多数开发环境(包括excel中的开发环境)都会自动将对名称的所有进一步引用更改为您定义名称的大小写。

字符串的默认值为
vbNullString

在比较中,该常数的计算结果为
,以及
vbNullString
之间的差异

举个例子:

Sub test()
    Dim Testarray(10) As String

    Debug.Print Testarray(1) = ""
    Debug.Print Testarray(1) = vbNullString
End Sub
输出:

True
True

您可以使用关键字vbNullString来检查新创建的字符串数组中是否有空元素或未初始化的元素

Dim Testarray(10) As String
Testarray(5) = "Test"
For i = 0 To UBound(Testarray)
    If Testarray(i) = vbNullString Then
        ' skip
    Else
        Cells(i + 1, 1).Value = Testarray(i)
    End If

Next

将在第6行第1(A)列中打印“Test”,并跳过所有未初始化的元素。正如其他人提到的,在VBA中,对空字符串(“”)的测试将在about代码段中产生相同的结果。但是,这并不会转化为.NET framework的其他部分,因为在这些部分中,字符串稍微复杂一些。为此,您将使用String.IsNullOrEmpty函数。

当将
Dim Testarray(10)声明为String
时,Testarray的所有11个元素都是
。关于奖金,名称不必以大写字母开头,尽管我个人喜欢所有变量都以大写字母开头(出于调试目的)