将div0错误更改为值(获取错误13)vba excel

将div0错误更改为值(获取错误13)vba excel,vba,excel,runtime-error,Vba,Excel,Runtime Error,有些单元格出现div 0错误,因为某些值尚未更新,因此我写了以下内容来解决此问题(通过triying更改数组中的值): 到 您得到的单元格错误不是a#DIV/0错误;不是在一个是#DIV/0的机器上(或任何其他)错误 这里有一种检查任何工作表错误的方法,还有两种只检查#DIV/0错误 If IsError(Selection) Then Debug.Print "iserror" End If If Selection.Text = "#DIV/0!" Then Debug.Pr

有些单元格出现div 0错误,因为某些值尚未更新,因此我写了以下内容来解决此问题(通过triying更改数组中的值):


您得到的单元格错误不是a
#DIV/0错误;不是在一个
#DIV/0的机器上(或任何其他)错误

这里有一种检查任何工作表错误的方法,还有两种只检查
#DIV/0错误

If IsError(Selection) Then
    Debug.Print "iserror"
End If
If Selection.Text = "#DIV/0!" Then
    Debug.Print "text found error"
End If
If Selection = CVErr(xlErrDiv0) Then
    Debug.Print "xlErrDiv0"
End If
第三种方法可以在有错误时识别错误,但在没有错误时会产生类型不匹配。常规文本、日期或数值不能与错误进行比较,正如错误不能分配给字符串或整数一样


第二种简单比较的方法可能是定位
#DIV/0的最佳方法特定错误,第一个将捕获任何
#DIV/0
#值
#N/A
等错误。

错误“13”:类型不匹配:不确定,但是.Range(“C”和A+2)应该是.Range(“C”和(A+2))或者可能是CVErr(xlErrDiv0)返回其他变量类型。Range(“C”和A+2)不应该是问题,但我尝试了这一点,并在同一行中出现了相同的错误尝试打印或调试:CVErr(xlErrDiv0)的值,Hoja1.Range(“C”&a+2):cverr给出错误号2007()也许可以尝试VarType(Hoja1.Range(“C”&a+2))vberror我只想更改该错误并在数组中用一个随机值覆盖它,所有变量看起来都很正常,我尝试使用selet case更改语句,
Select case Hoja1.Range(“C”&a+2))case=cverr(xlErrDiv0)array_visco(a,0)=0 End Select
现在指出的一行是
Case is=CVErr(xlErrDiv0)
,仍然不知道为什么,一切似乎都正常耶稣,是的,第二个解决了问题,非常感谢这件事让我很生气,要编辑我的问题来发布解决方案。
If Hoja1.Range("C" & a + 2) = CVErr(xlErrDiv0) Then array_visco(a, 0) = 0
Select Case Hoja1.Range("C" & (a + 2)).Text
Case Is = "#¡DIV/0!"
array_visco(a, 0) = 0
End Select
If IsError(Selection) Then
    Debug.Print "iserror"
End If
If Selection.Text = "#DIV/0!" Then
    Debug.Print "text found error"
End If
If Selection = CVErr(xlErrDiv0) Then
    Debug.Print "xlErrDiv0"
End If