如何知道VBA中的字符串数组为空?

joh*_*hnn 3 arrays vba

我将一个空的字符串数组变暗,但是如何获取该数组是否为空?我在下面尝试过,但不知道。

Sub arrtest()
  Dim myVar() As String
  Debug.Print VarType(myVar)   '8200
  Debug.Print TypeName(myVar)  'String()
  Debug.Print IsEmpty(myVar)   'False
  Debug.Print IsNull(myVar)    'False
  Debug.Print LBound(myVar)    'Error
  Debug.Print UBound(myVar)    'Error
  Debug.Print myVar Is Nothing 'Error
End Sub
Run Code Online (Sandbox Code Playgroud)

Caf*_*der 6

这里有两个选项

如果您正在检查数组是否已初始化

If (Not myVar) = -1 Then
    'Array has been initialized
End if
Run Code Online (Sandbox Code Playgroud)

如果您正在检查它是否具有值。注意:这只适用于字符串数组

If Len(Join(myVar)) > 0 Then
    'Array contains values
End if
Run Code Online (Sandbox Code Playgroud)

  • 先生,您今天用这个答案救了我的命。 (2认同)