Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro, wenn Zelle Farbe, dann

Forumthread: Makro, wenn Zelle Farbe, dann

Makro, wenn Zelle Farbe, dann
25.03.2009 09:48:37
Kurt
Guten Morgen Zusammen,
wenn in der Spalte 8 ab Zelle 5 die Zellenfarbe 35 (grün) ist, sollte
in der gleichen Zeile in Spalte 34 der Wert der in der Zelle steht entfernt
werden.
So bis das die letzte Zelle in der Spalte 8 mit Wert geprüft wurde,
mfg Kurt aus K
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro, wenn Zelle Farbe, dann
25.03.2009 10:01:37
Specke
Hallo Kurt,
wenn ich Deine Ausführungen richtig interpretiert habe, müsste folgender Code das machen, was Du möchtest:

Sub löschen()
For i = 5 To Worksheets(1).Range("H5:H65536").End(xlDown).Row
If Worksheets(1).Range("H" & i).Interior.ColorIndex = 35 Then
Worksheets(1).Range("AH" & i).Value = ""
End If
Next i
End Sub


Gruß Specke

Anzeige
Leider nicht.
25.03.2009 10:36:02
Kurt
Hallo Specke,
habe gerade getestet, leider klappt es nicht, ich habe die Zelle über
bedingte Formatierung so:
=UND(H5>=600000000;H5 die Farbe hinterlegt.
Vielleicht sollte man das so mit den Zahlen durchführen ?
Hier das Makro:
Dim i As Long
For i = 4 To ActiveSheet.Range("H4:H65536").End(xlDown).Row
If ActiveSheet.Range("H" & i).Interior.ColorIndex = 35 Then
ActiveSheet.Range("AH" & i).Value = ""
End If
Next i
mfg Kurt aus K
Anzeige
AW: Leider nicht.
25.03.2009 10:41:32
Specke
Hallo Kurt,
dann evtl. so (ungetestet):

Sub löschen()
Dim i As Long
For i = 4 To ActiveSheet.Range("H4:H65536").End(xlDown).Row
If ActiveSheet.Range("H" & i).Value>=600000000 and ActiveSheet.Range("H" & i).Value


Gruß Specke

Anzeige
Klasse Specke, Danke, läuft ! -)
25.03.2009 10:57:30
Kurt
AW: Leider nicht.
25.03.2009 10:46:18
D.Saster
Hallo,

Sub tt()
Dim i As Long
With ActiveSheet
For i = 4 To .Range("H4").End(xlDown).Row
Select Case .Cells(i, 8)
Case 600000000 To (1200000000 - 1)
.Cells(i, 34) = ""
End Select
Next i
End With
End Sub


Gruß
Dierk

Hallo Dierk, deins funktioniert auch! Danke !!!
25.03.2009 11:02:59
Kurt
Anzeige
AW: Leider nicht.
25.03.2009 11:15:12
Jogy
Hi.
Vorsicht: Die Bestimmung der letzten Zeile funktioniert hier nur, wenn keine Leerzellen in der Spalte vorhanden sind.
Nimm am besten ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row
Das ist dann auch unabhängig von der möglichen Zeilenzahl (falls das mal in Excel 2007 laufen soll).
Gruss, Jogy
Anzeige
Danke Jogy für den Hinweis ! -)
25.03.2009 16:02:05
Kurt
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makro für farbige Zellen in Excel nutzen


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das auf die Farbe von Zellen in Excel reagiert, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub löschen()
        Dim i As Long
        For i = 5 To Worksheets(1).Range("H5:H65536").End(xlDown).Row
            If Worksheets(1).Range("H" & i).Interior.ColorIndex = 35 Then
                Worksheets(1).Range("AH" & i).Value = ""
            End If
        Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu deinem Excel-Dokument zurück.

  5. Drücke ALT + F8, wähle das Makro löschen aus und klicke auf Ausführen.

Dieses Makro entfernt den Wert in Spalte 34, wenn die Zellenfarbe in Spalte 8 grün ist.


Häufige Fehler und Lösungen

  • Makro funktioniert nicht: Stelle sicher, dass die Zellen in Spalte 8 tatsächlich die Farbe 35 (grün) haben. Überprüfe auch, ob das Makro in der richtigen Arbeitsmappe ausgeführt wird.

  • Falsche letzte Zeile: Wenn Leerzellen in der Spalte vorhanden sind, kann die Bestimmung der letzten Zeile fehlschlagen. Verwende stattdessen:

    For i = 4 To ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row

Alternative Methoden

Falls Du die Werte in Spalte 34 basierend auf einer Bedingung ändern möchtest, kannst Du auch die WENN-Funktion verwenden, anstatt ein Makro zu nutzen. Zum Beispiel:

=WENN(H5=600000000; ""; "")

Diese Formel kann in die Zelle AH5 eingegeben und nach unten kopiert werden, um die Werte dynamisch zu aktualisieren.


Praktische Beispiele

  1. Wert entfernen, wenn Zelle grün: Das oben genannte Makro ist ein praktisches Beispiel dafür, wie man mit Farben in Excel arbeitet. Es entfernt den Wert in Spalte 34, wenn die Zelle in Spalte 8 grün ist.

  2. Text ändern, wenn Zelle eine bestimmte Farbe hat: Du kannst auch den Text in einer Zelle ändern:

    If Worksheets(1).Range("H" & i).Interior.ColorIndex = 35 Then
        Worksheets(1).Range("AH" & i).Value = "Farbe gefunden"
    End If

Tipps für Profis

  • Nutze benutzerdefinierte Farbwerte, um spezifischere Bedingungen zu erstellen. Du kannst die RGB-Funktion verwenden, um die exakte Farbe zu definieren.

  • Teste Dein Makro immer in einer Kopie Deiner Arbeitsmappe, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um eine andere Farbe zu überprüfen?
Ändere den ColorIndex im Code entsprechend der gewünschten Farbe.

2. Funktioniert das Makro in Excel 2007?
Ja, das Makro sollte auch in Excel 2007 einwandfrei funktionieren, solange die Syntax korrekt ist.

3. Was tun, wenn ich eine bedingte Formatierung verwende?
Wenn die Farbe durch bedingte Formatierung gesetzt wird, kannst Du die Bedingungen im Makro direkt prüfen, anstatt die Farbe abzufragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige