2016-10-21 6 views
0

Есть ли способ удалить условное форматирование в ячейке только в том случае, если она имеет определенную формулу?Excel VBA Условное форматирование Удалить формулу

Сейчас у меня есть

Cells(r, 4).Select  
With Selection 
.FormatConditions.Item(1).Delete 
End With 

Но я только хочу, чтобы удалить форматирование, если формула

="=ISBLANK(A19)=TRUE" 

Кто-нибудь знает, если это возможно?

ответ

0
Sub Tester() 

    ClearFormulaCF Range("A1:A5"), "=ISBLANK(A19)=TRUE" 

End Sub 

'Remove any CF rule from cells in rng where the CF formula 
' matches the one provided 
Sub ClearFormulaCF(rng As Range, sFormula As String) 
    Dim rngCF As Range, c As Range, fc As FormatCondition 

    On Error Resume Next 
    'any cells with CF? 
    Set rngCF = rng.SpecialCells(xlCellTypeAllFormatConditions) 
    On Error GoTo 0 
    If rngCF Is Nothing Then Exit Sub 'no CF found 

    For Each c In rngCF.Cells 
     For Each fc In c.FormatConditions 
      If fc.Formula1 = sFormula Then 
       fc.Delete 
       Exit For 
      End If 
     Next fc 
    Next c 
End Sub 
+0

Привет, Тим, извините, что не ответил ранее, я был занят другими вещами. Могу я задать вопрос? Каков порядок операций здесь? Если я приземлюсь на камеру, я бы назвал Sub Tester и Then Sub ClearFormulaCF? Или Тестер был вызван раньше? –

+0

«Тестер» - это всего лишь стенд для вашего фактического кода, чтобы продемонстрировать, как вы будете использовать 'ClearFormulaCF' –

Смежные вопросы