Registriert seit: 26.11.2015
Version(en): 2013
08.06.2017, 17:18
Hallo,
ich habe bisher programmiert, dass wenn ein Datum überschritten wird, ein bestimmter Spaltenbereich rot eingefärbt wird.
Nun die Frage: Wie kann ich diese Aktion auch jeweils für die Spalte darunter und darunder und darunter .... anwenden?
Es wäre ja müßig, immer das gleiche abzupinnen und die einzelnen Spaltenzahlen manuell zu ändern. Ich möchte schließlich 50 Spalten haben...
Dazu sei gesagt: Ich bin in totaler Anfänger, also bitte einfach bleiben.Anbei code und Datei (EXCEL 2016)
Gruß Andi
Aktionsliste.xlsm (Größe: 18,05 KB / Downloads: 3)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I11") > Range("I7") Then
Range("A11:J11").Interior.Color = RGB(192, 0, 0) 'rot Einfärben
Range("A11:J11").Font.ThemeColor = xlThemeColorDark1
Else
Range("A11:J11").Interior.Pattern = xlNone 'Entfärbe Färbe Zellenbereich
Range("A11:J11").Font.ColorIndex = xlAutomatic
End If
End Sub
Registriert seit: 29.09.2015
Version(en): 2030,5
Verwende bedingte Formatierung.
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
08.06.2017, 19:10
(Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2017, 19:10 von lupo1.)
Die Gemeinde dankt für den korrekten Gebrauch des Wortes "
Spalte"! Ungetestet - und Sinnhaftigkeit nicht geprüft:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Dein Ernst? Da kackt Dir doch der PC ab ...
For i = 11 to 60
lupo1 = "I" & i
lupo2 = "A" & i & ":J" & i
If Range(lupo1) > Range("I7") Then
Range(lupo2).Interior.Color = RGB(192, 0, 0) 'rot Einfärben
Range(lupo2).Font.ThemeColor = xlThemeColorDark1
Else
Range(lupo2).Interior.Pattern = xlNone 'Entfärbe Färbe Zellenbereich
Range(lupo2).Font.ColorIndex = xlAutomatic
End If
Next
End Sub
Registriert seit: 14.04.2014
Version(en): 2003, 2007
(08.06.2017, 17:18)Andi_Koer_1234 schrieb: Hallo,
ich habe bisher programmiert, dass wenn ein Datum überschritten wird, ein bestimmter Spaltenbereich rot eingefärbt wird.
Dann müstte der Vergleich aber eher andersrum sein, oder?
Nur aus neugier, warum per VBA und warum nicht mit Bedingter Formatierung.
Und wenn VBA, dann sollte nicht das gewählte Ereignis gebraucht werden.
Wenn VBA, dann würde ich das Workbook_Open Ereignis nutzen oder wenn nötig das Change Ereignis, welches auf die Datumseingabe reagiert.
Gruß Atilla
Registriert seit: 26.11.2015
Version(en): 2013
...Danke lupo1 für den code...@atillaZitat:Nur aus neugier, warum per VBA und warum nicht mit Bedingter Formatierung.
Wie bereits gesagt, ich habe keine Lust eine bedingte Formatierung für jede Zeile einzeln zu machen. Bei 100 Stück ist das mir zu viel Arbeit. Bei mir hat das mit dem copy pasten nicht gereicht. Zeigt mir doch mal eine bedingte Formatierung mit meinen Anforderungen. Außerdem ist es so für mich interessanter und projektorientiert in die Zukunft gedacht.Zitat:Dann müstte der Vergleich aber eher andersrum sein, oder?
Ja, dass musste ich was modifizieren. Man muss es anders herummachen und eine UND-Bedingung hinzufügen. Des Weiteren habe ich auch noch einen loop reingemacht, der bei einem Status von 100% die gesamte Zeile grün färbt. Ich finde aufgrund dieser Komplexität ist ein VBA schon gerechtfertigt. Zumal das ja relativ simpel ist, wenn man weiß wie das geht und gegen über dem Bedingt_Formatierungskram kann man einen besseren Überblick behalten.Zitat:Wenn VBA, dann würde ich das Workbook_Open Ereignis nutzen oder wenn nötig das Change Ereignis, welches auf die Datumseingabe reagiert.
Fürs programmieren finde ich es mit dem selectionchange einfach leichter. Ich habe das Ding jetzt schon ganz schön weiterentwickelt. Aber sag mir doch bitte, wie man ein change Ereignis erzeugt? Wenn ich das WORKBOOK einfach auf change stelle, haut er mir erstmal Fehlermeldungen um die Ohren.
Gruß Andi
Registriert seit: 14.04.2014
Version(en): 2003, 2007
08.06.2017, 22:41
(Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2017, 22:43 von atilla.)
Hallo,
dann ist ja alles klar.
Ein Formelexperte hat dir anscheinend einen funktionierenden VBA Code eingestellt,
Ein VBA interesierter würde es eher ohne VBA machen und ein VBA Spezialist empfiehlt eine VBA freie Lösung, nämlich die Bedingte Formatierung.
Du enscheidest Dich für Deinen Weg.
Gruß Atilla
Registriert seit: 29.09.2015
Version(en): 2030,5
Für >1 Million Zellen braucht man nur eine ( d.h. 1) bedingte Formatierung Formel.
Registriert seit: 13.04.2014
Version(en): 365
Hi,
da reicht einmal das:
| A | B | C | D | E | F | G | H | I | J |
10 | Nr | Aktion | Verantwortlich | Bemerkungen | Ergebnis | angelegt am | zu erledigen bis | Status |
11 | 6 | | | | | 08.06.2017 | 10.06.2017 | |
Zelle | bedingte Formatierung... | Format |
I11 | 1: =($H11<>"")*($I11>$I$7) | abc |
den ganzen gewünschten Bereich markieren und eintragen!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.