一维变体数组 VBA

Single Dimension Variant Arrays VBA

总的来说,我有一个很好的用于单个值更改管理的宏,现在可以为多维数组编写一个宏,但需要能够在不使用错误处理的情况下进行区分。

当目标只有一个单元格时,还有其他解决方法吗?下面的错误处理解决了这个问题,但我认为它是 "sloppy." 对更好的方法的建议表示赞赏。

Sub Dims(target As Variant)

Dim varData As Variant
Dim i As Integer
Dim j As Integer

varData = target

On Error GoTo Err

For i = 1 To UBound(varData, 1)
    For j = 1 To UBound(varData, 2)
        Debug.Print i, j, varData(i, j)
    Next j
Next i

Err:
If Err.Number = 13 Then
    Debug.Print target.Value
ElseIf Err.Number <> 0 Then
    MsgBox "Error " & Err.Number & " just occured."
ElseIf Err.Number <> 13 And Err.Number <> 0 Then
    Debug.Print "Err No.= "; Err.Number
Else
    Debug.Print "No Error"
End If
End Sub

我将 if then 语句设置为 运行 一种方式 if target.count =1 和另一种方式 if target.count>1