基于VBA中的公式误差/值设置变量

时间:2014-07-24 13:48:06

标签: excel vba

我正在尝试连续计算工作表(在手动计算上设置),直到没有错误为止。我在下面有下面的代码,但它似乎无法识别我设置的变量,因为这些变量的值是公式的结果,而不是单元格中的值作为值。我在使用工作表函数的某个相关主题上看到了另一个问题,但是我无法看到如何将它放入我的代码中。通常,如果我在没有VBA代码的情况下运行此过程,我会进行5-6次手动计算,但对于代码我希望更加适应。我的其余代码工作,只是这部分搞乱了这个过程。我想我可以像往常一样在循环中计算一些任意数量的计算器,但是如果可能的话,我希望只有在下面的两个错误出现时才计算。请参阅下面的代码段。

  Dim n As Variant
  Dim na As Variant
  n = "#N/A Requesting Data..."
  na = "#N/A Invalid Override"

  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual

  For Each Cell In Range("AZ13:BQ82")
      If Cell.Value = n Then
          Sheet1.Calculate
      End If
  Next

  For Each Cell In Range("AZ13:BQ82")
      If Cell.Value = na Then
          Sheet1.Calculate
      End If
  Next

1 个答案:

答案 0 :(得分:1)

IsError是你的朋友

  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual

  For Each Cell In Range("AZ13:BQ82")
      If IsError(Cell.Value) Then
          Sheet1.Calculate
      End If
  Next