单维变体arraysVBA

一般来说,我有一个很好的单一值的变更pipe理的macros,现在可以写一个multidimensional array,但需要能够差异而不使用error handling。

当目标只有一个单元时是否还有其他解决方法? 在下面的error handling处理这个问题,但我认为这是“马虎”。 build议赞赏一个更好的方法。

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 

如果target.count = 1,则设置if then语句以运行一种方式,如果target.count> 1,则设置另一种方式