Hallo,
ich möchte, dass sich in Zellen die Farben ändern je nach Inhalt und habe mehr als 3 Werte, so dass die bedingte Formatierung nicht funktioniert. Ich habe die in anderen Artikeln beschriebene Vorgehensweise umgesetzt und es funktioniert auch hervorragend. Nun mein Problem, bei dem ein Debug-Fehler erzeugt wird:
- Markieren mehrerer Zellen in der entsprechende Spalte und Löschen der Einträge --> dann soll wieder alles „Schwarz/Weiß“ werden, was auch kein Problem ist, wenn ich einen einzelnen Zellinhalt lösche, nur ein Problem darstellt bei mehreren auf einmal.
- Kopieren von Zellinhalten mittels des Füllkästchen in der entsprechenden Spalte.
Gruß
Cindy
H Cindy,
ich möchte, dass sich in Zellen die Farben ändern je nach
Inhalt und habe mehr als 3 Werte, so dass die bedingte
Formatierung nicht funktioniert. Ich habe die in anderen
Artikeln beschriebene Vorgehensweise umgesetzt und es
funktioniert auch hervorragend.
Klingt gut.
Nun mein Problem, bei dem ein Debug-Fehler erzeugt wird:
- Markieren mehrerer Zellen in der entsprechende Spalte und
Löschen der Einträge --> dann soll wieder alles
„Schwarz/Weiß“ werden, was auch kein Problem ist, wenn ich
einen einzelnen Zellinhalt lösche, nur ein Problem darstellt
bei mehreren auf einmal.
Klingt nicht gut.
- Kopieren von Zellinhalten mittels des Füllkästchen in der
entsprechenden Spalte.
Klingt auch nicht gut.
Da ich nicht weiß welche Artikel du gelesen hast und welchen Makrocode du benutzt kann ich nicht mehr zu dieser Problematik sagen.
Und zu einer Fehlermeldung des Debuggers gehört dazu zu sagen in welcher Zeile welchen Codes welcher Fehler in welchem Moment auftritt.
Gruß
Reinhard
Hallo Reinhard,
ich habe mich an folgende Vorgehensweise (von Dir als Rat weitergegeben) gehalten:
Tabelle:
[Mappe1]!Tabelle2
│ A │ B │
──┼─────┼────┤
1 │ A │ 3 │
2 │ C │ 34 │
3 │ F │ 35 │
4 │ G │ 2 │
──┴─────┴────┘
Alt+F11, Doppelklick auf „Tabelle1“, Code einfügen, Editor schliessen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column 4 Then Exit Sub ’ A=1,B=2 usw, also ist 4 Spalte D
If Target.Value = „“ Then Exit Sub
Target.Interior.ColorIndex = xlNone
Dim Zei As Long
With Worksheets(„Tabelle2“)
For Zei = 1 To .Range(„A65536“).End(xlUp).Row
If Target.Value = .Cells(Zei, 1) Then
Target.Interior.ColorIndex = .Cells(Zei, 2)
Exit For
End If
Next Zei
End With
End Sub
In der 9. Zeile „If Target.Value = .Cells(Zei, 1) Then“ taucht die Fehlermeldung „Typen unverträglich“ auf. Ich vermute das Problem besteht, weil der eingelesene Wert (target.value) ein Array darstellt (ich habe ja mehrere Zellen auf einmal markiert) und dieses Array mit einer Zelle (.cells(Zei, 1)) verglichen wird. Ich weiß allerdings keine Lösung …
Gruß
Cindy
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
In der 9. Zeile „If Target.Value = .Cells(Zei, 1) Then“ taucht
die Fehlermeldung „Typen unverträglich“ auf. Ich vermute das
Problem besteht, weil der eingelesene Wert (target.value) ein
Array darstellt (ich habe ja mehrere Zellen auf einmal
markiert) und dieses Array mit einer Zelle (.cells(Zei, 1))
verglichen wird. Ich weiß allerdings keine Lösung …
Hi Cindy,
zu 1) (Debugfehler) nimm mal den nachfolgenden Code.
zu 2) (Füllkästchen) Ich habe paar Grundlagen von Excel quasi übersprungen, deshalb meine Nachfrage. Was genau meinst du mit Füllkästchen? Den Vorgang wenn man mit der Maus unten rechts auf eine Zelle geht und dies mit oder ohne gedrückter Strg-Taste nach unten „kopiert“?
Option Explicit
Private Sub Worksheet\_Change(ByVal Target As Excel.Range)
If Target.Column 4 Then Exit Sub ' A=1,B=2 usw, also ist 4 Spalte D
If Target.Value = "" Then Exit Sub
Dim Zei As Long, Zelle As Range
With Worksheets("Tabelle2")
For Each Zelle In Target
Zelle.Interior.ColorIndex = xlNone
For Zei = 1 To .Range("A65536").End(xlUp).Row
If Zelle.Value = .Cells(Zei, 1) Then
Zelle.Interior.ColorIndex = .Cells(Zei, 2)
Exit For
End If
Next Zei
Next Zelle
End With
End Sub
Gruß
Reinhard
In der 9. Zeile „If Target.Value = .Cells(Zei, 1) Then“ taucht
die Fehlermeldung „Typen unverträglich“ auf. Ich vermute das
Problem besteht, weil der eingelesene Wert (target.value) ein
Array darstellt (ich habe ja mehrere Zellen auf einmal
markiert) und dieses Array mit einer Zelle (.cells(Zei, 1))
verglichen wird. Ich weiß allerdings keine Lösung …
Hi Cindy,
zu 1) (Debugfehler) nimm mal den nachfolgenden Code.
zu 2) (Füllkästchen) Ich habe paar Grundlagen von Excel quasi
übersprungen, deshalb meine Nachfrage. Was genau meinst du mit
Füllkästchen? Den Vorgang wenn man mit der Maus unten rechts
auf eine Zelle geht und dies mit oder ohne gedrückter
Strg-Taste nach unten „kopiert“?
Hallo Reinhard,
zu 1) habe ich gemacht --> funktioniert super --> Dankeschön.
zu 2) Ja, das meinte ich --> hat sich aber mit obigem Code auch miterfüllt.
Gruß
Cindy