2016-05-18 8 views
0

Ich versuche, den bedingten Formatierungsbereich für ungefähr 30 Zeilen von Daten in einem Arbeitsblatt zu aktualisieren. Jeden Monat aktualisiere ich die Daten und ich möchte ein Makro ausführen, um die Bereiche anzupassen, um den neuen Monat aufzunehmen. Ich habe dies bereits für meine Diagramme getan, indem ich das Ende der Serienbereiche aktualisiert habe, indem ich die ChartObjects und SeriesCollection durchlaufen habe.Verwenden Sie VBA, um bedingte Formatierungsbereiche zu aktualisieren?

dies auf die bedingte Formatierung zu tun, alles, was ich gefunden habe, erfordert hartzucodieren einen Bereich (entweder einen Zellbezug oder einen benannten Bereich), zB:

With Worksheets(1).Range("e1:e10").FormatConditions(1) 

ich nur Schleife durch die Sammlung lieber der bedingten Formatierung für das Arbeitsblatt, aber ich kann keinen Hinweis auf diese im Excel-VBA-Objektmodell vorhandene Sammlung finden. Fehle ich hier etwas?

Antwort

0

Dies ist ein wenig verschachtelt, da es nicht wirklich eine gute Möglichkeit gibt, durch formatconditions in einem Blatt zu durchlaufen. Aber können Sie eine Schleife durch Special und dann Schleife durch ihre formatconditions und graben in von dort:

Sub test() 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets("Sheet1") 

    Dim rngCell As Range 
    Dim lng As Long 

    For Each rngCell In ws.Cells.SpecialCells(xlCellTypeAllFormatConditions).Cells 
     For lng = 1 To rngCell.FormatConditions.Count 
      On Error Resume Next 
      Debug.Print rngCell.FormatConditions(lng).Formula1, rngCell.FormatConditions(lng).AppliesTo.Address 
     Next lng 
    Next rngCell 
End Sub 

ich pochierte die specialcells() Idee von Dick Kusleika's excellent post on this very subject bei dailydoseofexcel.com Blog.

+0

Ich las Dick Kusleikas Beitrag, der ziemlich gute Sachen ist. Das ist eine schwierige Frage. Leider ist die bedingte Formatierung, an der ich arbeite, eine Farbskala, die er nicht mit dem obigen Code arbeitet, da es sich um ein separates Objekt handelt (ColorScale vs. FormatConditions). Wenn ich dazu komme, kann ich versuchen, Ihren Code in ColorScale zu konvertieren. – twgardner2

Verwandte Themen