一般来说,我有一个很好的宏来进行单个值的变更管理,现在可以为多维数组写一个,但需要能够在不使用错误处理的情况下进行差异。
当目标只有一个细胞时,还有其他解决方法吗?下面的错误处理处理问题,但我认为它是“马虎”。 建议是一种更好的方法。
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
答案 0 :(得分:1)
我设置了if then语句,如果target.count = 1,则运行一种方式,如果是target.count,则设置另一种方式&gt; 1