单维变体阵列VBA

时间:2017-11-29 23:21:33

标签: arrays excel vba variant

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

当目标只有一个细胞时,还有其他解决方法吗?下面的错误处理处理问题,但我认为它是“马虎”。 建议是一种更好的方法。

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

1 个答案:

答案 0 :(得分:1)

我设置了if then语句,如果target.count = 1,则运行一种方式,如果是target.count,则设置另一种方式&gt; 1