У меня есть макрос, который я пишу для форматирования ежедневного отчета; часть которого сравнивает процентное изменение за неделю за неделей. Я предпочитаю использовать формат «+0%; - 0%», в отличие от стандартного «0%; - 0%», но когда я применяю фильтры, я теряю контекст чисел и связанные параметры фильтров чисел (например, «выше среднего»).
Есть идеи?
Я попытался скопировать / вставить как значения, вместо того, чтобы оставить формулу, и хотя это, казалось, исправило первый диапазон% Col, он не исправил другие (хотя они правильно вставлены как значения)
''''''''
''Call my FindAll function to find each column with the header "% chg"
''''''''
Dim matches As Collection, m
Dim mycell As Range, c As Range
Dim strFindMe As String
Dim myCell As Range
strFindMe = "% Chg"
Set matches = FindAll(rgHeader, strFindMe)
For Each m In matches
Dim ColPct As Range
Set c = m.Offset(1, 0)
Set ColPct = Range(c.Address, Cells(RgSummary.Row, _
Range(c.Address).Column))
''''''''
''Calculate the wk-wk % chg for each column with header "% Chg"
''''''''
For Each myCell In ColPct
''calculate Prct Chg
myCell.FormulaR1C1 = "=iferror(IF(AND(rc[-6]<>"""",rc[-3]<>""""),(rc[-3]/rc[-6]-1),""""),""N/A"")"
' myCell.NumberFormat = "+0%;-0%"
Next
With ColPct
.Copy
.PasteSpecial xlValues
.NumberFormat = "+0%;-0%"
End With
next m
Цель: процентное изменение имеет формат "+0%; - 0%" и читается фильтрами Excel как число, а не строка