Anzeige
Archiv - Navigation
1348to1352
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

Zellen färben mit Offset....

Zellen färben mit Offset....
21.02.2014 08:12:21
Chris
Hallo Leute,
ich komme bei einer Sache nicht so recht weiter:
Das makro unten färbt mir die selektierten Zellen im UNion-Range entsprechend der Farbe von N2 und setzt mir den Zelleninhalt von N2 in die
markierten Zellen. Soweit läuft es wunderbar.
Nun soll Excel zusätzlich prüfen
1) Wenn eine oder mehrere Zellen der Spalte LINKS NEBEN des Union-Range (offset,-1) eine bestimmte Farbe haben (vgl. RGB-Wert unten), dann
2) sollen die entsprchenden Zellen im markierten Union-Range leer bleiben, d.h. es soll weder die Farbe noch der Zelleninhalt aus N2 übernommen werden.
Set isect = Intersect(Target, Union(Range("C12:C43"), Range("F12:F43"), Range("I12:I43"), Range("L12:L43"), Range("O12:O43"), Range("R12:R43")))
If Not isect Is Nothing Then
For Each Spalte In isect.Columns
x = x + 1
If x Mod 1 = 0 Then
Spalte.Value = Range("N2").Value
Spalte.Interior.Color = Range("N2").Interior.Color
Spalte.Borders(xlInsideHorizontal).Weight = xlThin
'bis hier hin läufts.
'aber hier tut sich nix...:
If Spalte.Offset(, -1).Interior.Color = RGB(149, 179, 215) Then
Spalte.Value = ""
End If
Chris

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen färben mit Offset....
21.02.2014 10:25:18
GuentherH
Hallo Chris,
ich vermute, dass Du in den bisher ausgewerteten Zellen immer einheitliche Farben hattest.
die Farbe einer Spalte mit unterschiedlichen Farbe in den Zeilen ist aber nicht definiert.
Da musst Du m.E. die Zeilen einzeln prüfen
for each Feld in Spalte
if...
next
Da nur ein Hinweis lasse ich noch offen, für echte Lösungen :)
Gruß,
Günther

AW: Zellen färben mit Offset....
21.02.2014 12:45:53
Chris
Hi, Danke für deinen Vorschlag. Ich habe das mal versuch umzusetzen, jedoch passiert da gar nichts:
Set isect = Intersect(Target, Union(Range("C12:C43"), Range("F12:F43"), Range("I12:I43"), Range("L12:L43"), Range("O12:O43"), Range("R12:R43")))
If Not isect Is Nothing Then
For Each Spalte In isect.Columns
x = x + 1
If x Mod 1 = 0 Then
Spalte.Value = Range("N2").Value
Spalte.Interior.Color = Range("N2").Interior.Color
Spalte.Borders(xlInsideHorizontal).Weight = xlThin
If Spalte.Interior.Color = 0 Then
MsgBox "Bitte für das 1. Halbjahr " & Range("Q2") & " eine Auswahl treffen!", vbExclamation
Spalte.Interior.Color = RGB(240, 240, 240)
Spalte.Borders(xlInsideHorizontal).Weight = xlThin
Application.CutCopyMode = True
Range("A1").Select
Exit Sub
End
End If
End If
Next
Set feld = Range("C12:C43")
For Each zelle In Feld
'Wenn in Zelle irgendetwas drin steht und die zelle links daneben mit den RGB werten übereinstimmt, setze "nix" in zelle. hier tut sich nichts:
If zelle.Value "" And zelle.Offset(, -1).Interior.Color = RGB(149, 179, 215) Then
zelle.Value = "nix"
End If
Next
End If
?
Chris

Anzeige
AW: Zellen färben mit Offset....
21.02.2014 12:59:03
GuentherH
Folgendes Makro funktioniert bei mir:
Sub farb()
Set Feld = Range("C12:C43")
Range("b15:B40").Interior.Color = RGB(149, 179, 215)
For Each zelle In Feld
'Wenn in Zelle irgendetwas drin steht und die zelle links daneben mit den RGB werten ü _
bereinstimmt, setze "nix" in zelle. hier tut sich nichts:
If zelle.Value  "" And zelle.Offset(, -1).Interior.Color = RGB(149, 179, 215) Then
zelle.Value = "nix"
End If
Next
End Sub

AW: Zellen färben mit Offset....
21.02.2014 13:05:25
Chris
Hi,
danke für dein Vorschlag doch STOP:
Mit Range("b15:B40").Interior.Color = RGB(149, 179, 215) färbst die ganze Spalte im Range.
Das ist bei mir nicht so.
Hintergrund:
Es handelt sich um einen Kalender Im Range B12:B43 stehen für Januar alle Tage im Format: SA 23. JAN. 2014, dann So. 24. JAN. 2014. Usw.
Die Wochenenden sind per bedingter Formatierung farblich markiert, RGB (149,179,215). Alle anderen Wochentage sind nicht farblich hinterlegt. Deshalb sollen in Spalte C, sobald die Zelle daneben gefärbt ist, keine Einträge gemacht werden.... (in spalte C stehen Namenskürzel für Urlaube...hier zählt das Wochenende ja nicht mit....)
Noch ein Vorschlag? :-)
Chris

Anzeige
AW: Zellen färben mit Offset....
21.02.2014 13:05:48
Chris
s.o.

AW: Zellen färben mit Offset....
21.02.2014 15:25:07
GuentherH
Das färben war nur um mal die Farbe vor ort zu haben, damit die Bedingung auch was auswerten kann.
Ihr habt ja inzwischen das Problem lokalisiert und gelöst.
Schönes WE
Günther

AW:Pruef mal
21.02.2014 13:06:01
hary
Moin Chris
Pruef mal so, ob beide Puefungen "wahr" sind.
For Each zelle In Feld
MsgBox zelle.Value  ""
MsgBox zelle.Offset(, -1).Interior.Color = RGB(149, 179, 215)
End If

Oder kommt die Farbe mit bed. Formatierung rein?
gruss hary

AW: AW:Pruef mal
21.02.2014 13:08:03
Chris
Hi hary,
ja, die Farbe kommt per bedingtr Formatierung rein, d.h. kein makro sondern klick auf Schaltfläche etc...

Anzeige
AW: AW:Pruef mal
21.02.2014 13:11:25
Chris
...

AWMit bed. Formatierung....
21.02.2014 13:19:19
hary
Moin Chris
...wird das so nicht gehen. Bed.Formatierung auslesen ist schwierig. Dir bleibt nur der Weg genau so, die anderen Zellen, zu pruefen wie es in der bed. Formatierung gemacht wird.
gruss hary

AW: AWMit bed. Formatierung....
21.02.2014 13:42:11
Chris
Hallo hary,
das dachte ich mir. Ich hab es nun anders gelöst:
Per Hilfsspalte lese ich den Tag aus dem Datum aus =Text(XY;"TTT")
Dann prüfe ich per Makro ob in der Hilfsspalte Sa oder So steht und schon läufts... ;-)
Manchmal verstehe ich Excel nicht...
Danke für den Denkansatz !
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige