Я использую формулу массива для примерно 1000+ строк:
=SUM(N(FREQUENCY(IF(($B$2:$B$21=G8)*($C$2:$C$21="v1")*($D$2:$D$21="f"),$E$2:$E$21),$E$2:$E$21)>0))
Но я должен нажать Control+Shift+Enter
для каждой строки.
Я пытался избежать этого с помощью vba код:
Dim rngFormulas As Range
Dim rngCell As Range
Dim lngCalcMode As Long
On Error Resume Next
Set rngFormulas = Sheets("Overall Test Summary").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
Я получаю сообщение об ошибке в строке:
.FormulaArray = "=IFERROR(" & Mid$(.FormulaArray, 2) & ",0)"
Есть ли способ избежать нажатия Control+Shift+Enter
для обновления формул на моем листе