Я создал лист Excel с несколькими формулами для проекта.Затем я добавил CommandButton для свертывания / развертывания определенных групп ячеек.
Код CommandButton:
Private Sub CommandButton1_Click()
Columns("B").ColumnWidth = 30
With Me.CommandButton1
If .Caption = "Customer Relationship" & vbCrLf & "Management Processes" Then
.Caption = "Customer Relationship" & vbCrLf & "Management Processes "
Rows("11:74").Hidden = False
Else
.Caption = "Customer Relationship" & vbCrLf & "Management Processes"
Rows("11:74").Hidden = True
End If
'Worksheets(1).Calculate
End With
End Sub
Он работает правильно.Теперь на рабочем листе у меня есть ячейка, которая использует другую UDF для суммирования ячеек на основе их цвета фона, код для этого:
Function ColorFunction(rColor As Range, rRange As Range,
Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function
И это также работает как шарм.Возникает проблема: когда я нажимаю CommandButton, ячейки свертываются / растягиваются правильно, но ячейка с функцией суммирования по цвету становится VALUE !, тогда, если я нажму на панель формул внутри формулы и вернусь на лист,он автоматически исправляет себя, не меняя ничего.
Я пытался: a- Добавить пересчитать на кнопку, без кубиков.б) Откажитесь от функции, я пытался с другим кодом, она делает то же самое странное.c- Откажитесь, что формула сошла с ума, потому что она больше не могла "видеть" разрушенные клетки.Они видят их, когда я сворачиваю группу и «исправляю» формулу, щелкая по ней, она правильно суммируется, даже если в этот момент ячейки скрыты.
Любая помощь?Заранее спасибо