Clever-Excel-Forum

Normale Version: Bedingte Formatierung im Macro aufzeichnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebe Leute,

ich habe versucht eine bedingte Formatierung in einem Macro aufzunehmen, aber es nicht geklappt.

Konkret: Ich möchte in einer beliebigen Datei eine Spalte markieren und dann das Macro via Schnellzugriff-Button auslösen. Dadurch sollen dann alle doppelten Werte in der Spalte angezeigt werden (und dann im nächsten Schritt auch noch sortiert werden, damit die doppelten Werte nebeneinander stehen). 

Problem: Es wird in meiner neuen Datei gar keine bedingte Formel angelegt.

Kann mir jemand sagen, warum oder was ich falsch mache?

Viele Grüße

Susanne
Hallo Susanne,

dann zeig doch mal, was du aufgezeichnet hast. Bei mir klappt das nämlich wunderbar.
Hallo Berni,

ich habe es einmal mit und einmal ohne relativer Aufzeichnung gemacht.


Code:
Sub Makro3()
'
' Makro3 Makro

    Cells.FormatConditions.Delete
    ActiveCell.Offset(0, -13).Columns("A:A").EntireColumn.Select
    ActiveCell.Activate
    Selection.FormatConditions.AddUniqueValues
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).DupeUnique = xlDuplicate
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = 0
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    ActiveCell.Offset(0, -9).Columns("A:A").EntireColumn.Select
    ActiveCell.Activate
    Selection.FormatConditions.AddUniqueValues
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).DupeUnique = xlDuplicate
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    ActiveCell.Columns("A:A").EntireColumn.Select
    Selection.FormatConditions.AddUniqueValues
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).DupeUnique = xlDuplicate
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub


Viele Grüße

Susanne
PS.: Bei der Variante kam noch eine Fehlermeldung, bei der ersten (ohne relative Aufzeichnung) nicht, hat aber auch nicht geklappt.

Sub Makro1()
'
' Makro1 Makro
'

'
    Columns("H:H").Select
    Cells.FormatConditions.Delete
    Columns("H:H").Select
    Selection.FormatConditions.AddUniqueValues
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).DupeUnique = xlDuplicate
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Rows("1:1").Select
    Selection.AutoFilter
End Sub
Deckt sich mit meinem aufgezeichneten Makro. Und wenn du dieses (das absolute) Makro auf eine andere Tabelle anwendest, dann markiert es dir keine doppelten Einträge? Das kann ich eigentlich kaum glauben, denn ich habe dein Makro (das zuletzt gepostete) 1:1 kopiert und in meiner Datei eingefügt. Wenn ich es laufen lasse, macht es genau, was es soll.

Falls es bei dir nicht hinhaut, lade mal eine Beispielmappe hoch, in der man das Problem erkennen kann.
Huh  Bei mir funktioniert es jetzt auch plötzlich bei einer neuen Datei.

Jetzt habe ich mit verschiedenen Versionen und Dateien herumgespielt und manchmal kommt die Fehlermeldung "Laufzeitfehler", manchmal nicht, bei anderen Dateien wird nicht die ausgewählte Spalte bearbeitet, sondern x-beliebige andere - warum auch immer...

Aber mit einfachen Dateien klappt es. Vermutlich mache ich zuviel auf einmal. Alles Schließen, Datei aufmachen, Makrobutton anklicken - bringt die besten Ergebnisse Blush 

Sorry für den falschen Alarm und vielen Dank für Deine Rückmeldung!



Viele Grüße

Susanne
Zitat:und manchmal kommt die Fehlermeldung "Laufzeitfehler", manchmal nicht
Hast du womöglich verbundene Zellen in den betreffenden Spalten?
In den Dateien nicht - vielleicht, weil ich mehrere Makroversuche hintereinander auslösen wollte.

Aber das ist ein guter Hinweis, der Stolperstein kann bei der zukünftigen Anwendungen auch mal auftauchen.

Viele Grüße

Susanne