Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellhintergrund ändern - Codeanpassung

Zellhintergrund ändern - Codeanpassung
18.10.2016 09:40:49
Erwin
Guten Morgen Forum,
mit Hilfe des Forums habe ich nachfolgende Datei erstellen und anpassen können (ich hoffe, ich habe alles richtig gemacht und richtig kommentiert).
https://www.herber.de/bbs/user/108840.xlsm
Ich hätte noch 2 kleine Verbesserungswünsche:
1. Wenn ich mehrere Zellen markiere und lösche, erscheint eine Fehlermeldung, die Daten werden zwar gelöscht, aber die Farbe "rot" bleibt erhalten; vl. kann man auch die rote Farbe noch löschen.
2. Wenn ich im Bereich A4:A8 je einen Eintrag vornehme, wird der Bereich A3:B8 richtigerweise "rot" eingefärbt.
- Lösche ich dann z. B. A4, wird nach dem vorhandenen Makro die Zellhintergrundfarbe richtigerweise bei A3:B4 gelöscht
- Lösche ich z. B. A6 wird nach dem vorhandenen Makro die Zellhintergrundfarbe von A5:B6 gelöscht, obwohl noch in B5 ein Eintrag (dadurch Markierung von A4:B5) vorhanden ist.
Es sollte in diesem Fall nur die aktuelle Markierung und rechts daneben gelöscht werden, wenn oberhalb der Markierung die Zelle noch belegt ist.
Wer kann mir bitte eine Anpassung vornehmen?
Grüße - Erwin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellhintergrund ändern - Codeanpassung
18.10.2016 18:34:53
Michael
Hi Erwin,
weshalb die darüberliegenden Zellen mitgefärbt werden, erschließt sich mir nicht.
Gib mal in Tabelle2!A7 das "d" erneut ein, und die Zellen in Zeile 6 werden rot. Soll das so sein?
Versuch's mal damit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
If Target.Row = 1 Or Target.Column > 26 Then Exit Sub
For Each Rng In Target
If Rng.Cells = "" Then
If Rng.Offset(-1) = "" Then
Rng.Offset(-1).Resize(2, 2).Interior.Color = xlNone
Else
Rng.Resize(, 2).Interior.Color = xlNone
End If
Else
Rng.Offset(-1).Resize(2, 2).Interior.Color = vbRed
End If
Next
End Sub
Schöne Grüße,
Michael
Anzeige
Zellhintergrund ändern :)
18.10.2016 18:57:10
Erwin
Hallo Michael,
das passt wie angegossen, funktioniert wie gewünscht.
Die darüber liegenden Zellen sollen aus anderen Gründen hervorgehoben werden, damit der Enduser auf bestimmte Daten hingewiesen wird.
Thx - Erwin
na fein, danke für die Rückmeldung,
18.10.2016 19:57:01
Michael
Erwin,
und schöne Grüße zurück,
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige