Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Interior.ColorIndex = xlNone

Forumthread: Interior.ColorIndex = xlNone

Interior.ColorIndex = xlNone
24.01.2016 11:40:42
Peter
Hallo leute,
kann mir jemand sagen warum der Code bei
"eingbereich.Interior.ColorIndex = xlNone" hängen bleibt.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim z1
Dim eingbereich
If Sheets("Fahrer").Range("n1").Value = "aus" Then Exit Sub
z1 = Selection.Row
Set eingbereich = Range("c9:k1600")
eingbereich.Interior.ColorIndex = xlNone
If Application.Intersect(Selection, eingbereich) Is Nothing Then Exit Sub
Range(Cells(z1, 1), Cells(z1, 10)).Interior.ColorIndex = 36 'gelb 36
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Interior.ColorIndex = xlNone
24.01.2016 11:45:30
Daniel
Hi
der Code ist ansich korretk.
vielleicht ist der Blattschutz aktiv und verbietet das Ändern der Formatierung?
Gruß Daniel

AW: Interior.ColorIndex = xlNone
24.01.2016 11:57:07
Peter
Oh mein Gott, ich Hirni.
Eine Stunde meines Lebens weggeworfen.
Ich Danke dir.
Gruss Peter

AW: Interior.ColorIndex = xlNone
24.01.2016 12:27:33
Peter
Ich muss noch einmal Fragen.
wWenn ich Tabellenblatt "aus" eintrage, sollen ja alle Zellen wieder keine Farbe haben. Es bleibt aber immer die letzte makierte Zeile Gelb.

Anzeige
AW: Interior.ColorIndex = xlNone
24.01.2016 12:36:07
Daniel
prüfe einfach nochmal den Ablauf den du programmiert hast.
vielleichte kommst du dann selber darauf, was du ändern musst:
1. prüfe, ob "aus" in der Zelle steht, wenn ja breche das Makro ab
2. lösche die bestehende Farbmarkierung
3. setze die neue Farbmarkierung
Gruß Daniel

Anzeige
AW: Interior.ColorIndex = xlNone
24.01.2016 12:39:00
Peter
Ich muss noch einmal Fragen.
wenn ich im Tabellenblatt aus einschreibe ,sollen ja alle Zeilen wieder ohne Farbe sein.
Es bleibt aber immer die letzte Zeile Gelb formartiert.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Interior.ColorIndex = xlNone in Excel VBA richtig nutzen


Schritt-für-Schritt-Anleitung

Um die Farbe der Zellen in Excel VBA zurückzusetzen, kannst du den folgenden Code verwenden. Dieser Code setzt die Interior.ColorIndex auf xlNone, was bedeutet, dass keine Farbe mehr zugewiesen wird.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Dim z1 As Long
    Dim eingbereich As Range
    If Sheets("Fahrer").Range("n1").Value = "aus" Then Exit Sub
    z1 = Selection.Row
    Set eingbereich = Range("c9:k1600")

    ' Setzt die Hintergrundfarbe auf keine Farbe
    eingbereich.Interior.ColorIndex = xlNone

    If Application.Intersect(Selection, eingbereich) Is Nothing Then Exit Sub
    Range(Cells(z1, 1), Cells(z1, 10)).Interior.ColorIndex = 36 ' gelb 36
End Sub

Vergewissere dich, dass du xlNone korrekt verwendest, um die Zellen farblich zurückzusetzen.


Häufige Fehler und Lösungen

  1. Blattschutz aktiv: Wenn dein Code nicht funktioniert, könnte es daran liegen, dass der Blattschutz aktiv ist. Stelle sicher, dass der Blattschutz deaktiviert ist, um Änderungen an der Formatierung zuzulassen.

  2. Farbmarkierung bleibt bestehen: Wenn die letzte markierte Zeile trotz Interior.ColorIndex = xlNone weiterhin gelb bleibt, überprüfe den Ablauf deines Codes. Du solltest zuerst die bestehende Farbmarkierung löschen, bevor du eine neue Farbmarkierung setzt.


Alternative Methoden

Anstelle von Interior.ColorIndex kannst du auch Interior.Color verwenden, um spezifische Farben zu setzen. Zum Beispiel:

eingbereich.Interior.Color = RGB(255, 255, 255) ' Setzt die Hintergrundfarbe auf weiß

Diese Methode kann nützlich sein, wenn du eine exakte Farbzuordnung benötigst.


Praktische Beispiele

Hier ist ein weiteres Beispiel, das zeigt, wie du eine bestimmte Farbe setzen und dann später alle Farben zurücksetzen kannst, wenn der Wert "aus" in Zelle N1 steht:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Dim eingbereich As Range
    Set eingbereich = Range("c9:k1600")

    If Sheets("Fahrer").Range("n1").Value = "aus" Then
        eingbereich.Interior.ColorIndex = xlNone ' Setzt alle Farben zurück
    Else
        eingereich.Interior.ColorIndex = 36 ' Setzt auf gelb
    End If
End Sub

Tipps für Profis

  • Nutze Cells.Interior.ColorIndex, um gezielt bestimmte Zellen anzusprechen.
  • Überprüfe die verfügbaren ColorIndex Werte in Excel, um deine gewünschten Farben zu finden.
  • Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass dein VBA-Code robust ist und auch bei unerwarteten Eingaben funktioniert.

FAQ: Häufige Fragen

1. Was ist xlNone in Excel VBA?
xlNone ist eine Konstante in Excel VBA, die verwendet wird, um anzugeben, dass keine Farbe für die Hintergrundfarbe einer Zelle gesetzt wird.

2. Wie kann ich einen bestimmten Farbwert in VBA setzen?
Du kannst Interior.Color verwenden, um einen RGB-Farbwert zu setzen, wie zum Beispiel Interior.Color = RGB(255, 0, 0) für rot.

3. Warum bleibt die Farbe einer Zelle bestehen, selbst wenn ich Interior.ColorIndex = xlNone setze?
Das kann daran liegen, dass die Farbmarkierung nicht korrekt entfernt wurde. Stelle sicher, dass dein Code die Zellen in der richtigen Reihenfolge behandelt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige