在我的工作表中,我有几百个UNIQUE公式(简单和数组)。一些单元格包含数组公式和一些简单公式。 我不得不批量编辑(查找和替换)所有公式中的一些字符。我将它们作为文本导出到记事本++并完成替换作业并将它们带回并粘贴在工作表上。 当我按下'计算工作表'或者alt + ctrl + f9,它不会更新数组公式。 有没有办法更新(刷新)所有公式?或者我应该逐个去按ctrl + shift + enter?考虑到我拥有的细胞数量,这根本不可行。 我怎么能用vba做到这一点? 感谢
答案 0 :(得分:2)
你需要这样的例程 - 最后可能需要一段时间才能重新计算它的声音!
Sub AddErrorHandler()
Dim rngFormulas As Range
Dim rngCell As Range
Dim lngCalcMode As Long
On Error Resume Next
Set rngFormulas = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not rngFormulas Is Nothing Then
With Application
.ScreenUpdating = False
lngCalcMode = .Calculation
.Calculation = xlCalculationManual
End With
For Each rngCell In rngFormulas.Cells
If LCase$(Left$(rngCell.Formula, 9)) <> "=iferror(" Then
If rngCell.HasArray Then
With rngCell.CurrentArray
.FormulaArray = "=IFERROR(" & Mid$(.FormulaArray, 2) & ",0)"
End With
Else
With rngCell
.Formula = "=IFERROR(" & Mid$(.Formula, 2) & ",0)"
End With
End If
End If
Next rngCell
With Application
.Calculation = lngCalcMode
.ScreenUpdating = True
End With
End If
End Sub