Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Farbig Markierte Spalten löschen
#1
Hallo,

ich bin jetzt schon seid einigen Stunden in diversen Foren nach einer Lösung am suchen, doch leider ohne Erfolg.

Folgende Situation:

Ich habe in Spalte A diverse Zahlen stehen (Beispiel im Attachement zu sehen). Nun möchte ich via Bedingte Formatierung die die Doppelten Werte farblich markieren (ColorIndex = 6) (Gelb).
Als nächstes hätte ich gerne via VBA, dass die farblich Markierten Zellen allesamt gelöscht werden, sprich nicht nur einen der doppelten Werte, sondern "beide". Ein nachrücken der Spalten ist nicht notwendig, wäre aber schön wenn mir jemand erklären würde wie das funktionieren würde.

Mein Lösungsvorschlag, der letztendlich gescheitert ist:


Sub ClearYellowCells()
    Dim rng As Range
    For Each rng In ActiveSheet.UsedRange
        If rng.Interior.ColorIndex = 6 Then
            rng.ClearContents
            End If
        Next rng
    End Sub



Hier das Problem:

nur manuell gefärbte Zellen werden gelöscht und nicht die farblich markierten Zellen durch die bedingte Formatierung.


Ich hoffe ich konnte mein "Problem" verständlich erläutern.

Danke und Gruß,
Timi
Antworten Top
#2
Hi Tim,

Frage:
a) Welche Bedingung führt dazu, die Zelle zu färben?

Diese Bedingung kannst Du dann in der Schleife verwenden um zu löschen.


Alternative:
Schau dir mal .AutoFilter an.
gruß
Marco
Antworten Top
#3
Hallo, :19:

mit "ClearContents" wird nur der Inhalt der Zelle gelöscht - mit "Clear" die ganze Zelle. :21:

Code:
Option Explicit
Public Sub Main()
    Dim rng As Range
    For Each rng In ActiveSheet.UsedRange
        If rng.DisplayFormat.Interior.ColorIndex = 6 Then
            rng.ClearContents
        End If
    Next rng
End Sub
Public Sub Main_1()
    Dim rng As Range
    For Each rng In ActiveSheet.UsedRange
        If rng.DisplayFormat.Interior.ColorIndex = 6 Then
            rng.Clear
        End If
    Next rng
End Sub

Das Zauberwort ist "DisplayFormat". Suche mal im Netz danach. :21:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Timi
Antworten Top
#4
Super, vielen Dank!

Das geht ja einfacher als gedacht :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste