Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: bestimmte Formatierung löschen

VBA: bestimmte Formatierung löschen
29.12.2016 07:20:10
Erwin
Guten Morgen,
mit einem teils aufgezeichneten und manuell nachgebesserten Makro markiere ich in einem kleinen Bereich über eine bedingte Formatierung die Zellen orange, die nicht gesperrt sind (schon mal sorry für ...select...).
  • 
    Sub M_10_2_1()
    'Alle nicht gesperrten Zellen werden über eine bedingte Formatierung orange gekennzeichnet
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=(ZELLE(""Schutz"";A1)=0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 49407
    .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("A1").Select
    End Sub
    

  • Leider schaffe ich es nicht, genau nur diese Formatierung wieder mit VBA zu löschen.
  • 
    Sub M_10_2_2()
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    With Selection.FormatConditions.Formula1:  "=(ZELLE(""Schutz"";A1)=0)"
    .Selection.FormatConditions(Selection.FormatConditions.Count).FirstPriority
    .Selection.FormatConditions(1).Interior
    .PatternColorIndex = 49407
    .TintAndShade = 0
    Selection.FormatConditions(1).Delete
    End With
    End Sub
    

  • Es erscheint ein Syntaxfehler bei "With Selection..." den ich nicht beheben kann.
    Es muss genau nur diese bedingte Formatierung gelöscht werden, eine/alle anderen bedingten Formatierungen sollen bestehen bleiben.
    Eine kleine Beispieldatei anbei: https://www.herber.de/bbs/user/110233.xlsm
    Wie kann ich nur die bedingte Formatierung mit der o. g. Formel löschen, die an 1. Proi steht und die Farbe 49407 hat?
    Grüße - Erwin

    6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA: bestimmte Formatierung löschen
    29.12.2016 09:24:12
    Hajo_Zi
    Bei With kannst Du nichts zuweisen. Es fehlt auch die Nummer.
    With Selection.FormatConditions(1)
    .Formula1: "=(ZELLE(""Schutz"";A1)=0)"
    den weiteren Code sehe ich mir nicht an.
    Ich würde vermuten ";" ist falsch da muss"," stehen.

    AW: VBA: bestimmte Formatierung löschen
    29.12.2016 09:29:19
    Gerd
    Hallo Erwin!
    Sub Bedingung_der_bedingten_Formatierung_loeschen()
    ' Die eine bedingte Formatierung (gesperrte Zellen = orange) soll in den
    ' allen Zellen wieder aufgehoben werden
    Dim objCell As Range, X As FormatCondition
    For Each objCell In ActiveSheet.UsedRange
    If objCell.FormatConditions.Count > 0 Then
    For Each X In objCell.FormatConditions
    If X.Formula1 Like "=(ZELLE(""Schutz"";*" Then
    X.Delete
    Exit For
    End If
    Next
    End If
    Next
    End Sub
    

    Gruß Gerd
    Anzeige
    AW: VBA: bestimmte Formatierung löschen
    29.12.2016 09:39:51
    Erwin
    Hallo Gerd,
    danke für den Code, der funktioniert genau passend.
    Wie müsste man denn die Programmierung anpassen, wenn ich zur Sicherheit auch noch die bestehende Farbe (hier: Color 49407) abfragen möchte?
    Grüße - Erwin
    @Hajo: danke auch für deinen Tip
    AW: VBA: bestimmte Formatierung löschen
    29.12.2016 09:56:36
    Gerd
    Hallo Erwin!
    Ungetestet, in der Schleife:
    If X.Interior.Color = 49407 Then ...
    Aber weshalb sollte diese Prüfung notwendig sein?
    Beim selektiven Löschen deiner einzelnen Bed.Form. verschiebt sich in der Formel "A1", daher der
    Like-Operator u. nur der Formelanfang.
    Bei der Bed.Form. sind die Formeln im Code ausnahmsweise in Deutsch anzugeben.
    Daher ist das ";" durchaus richtig.
    Gruß Gerd
    Anzeige
    AW: VBA: bestimmte Formatierung löschen
    29.12.2016 10:22:10
    Erwin
    Hallo Gerd,
    super, habe es einbauen können.
    Ich dachte nur, dass zwei Löschkriterien (Formel und Farbe) sicherer wären, um genau den Code für nicht gesperrte Zellen zu erwischen.
    Danke nochmals
    Grüße - Erwin
    sorry für offen - natürlich erledigt
    29.12.2016 10:23:04
    Erwin
    .

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige