Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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

Startzelle einfärben

Startzelle einfärben
12.05.2022 17:25:55
mike49
Hallo Leute,
beim Öffnen meiner Arbeitsmappe wird die Startzelle mit diesem Makro richtig aktiviert:

Private Sub Workbook_Open()
With ThisWorkbook.Sheets(Format(Date, "MMM"))
.Activate
.Cells(Day(Date) + 2, 1).Select
End With
End Sub
Wie kann ich darüber hinaus erreichen, dass diese Zelle auch noch farbig hervorgehoben wird?
Gruß
mike49

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Startzelle einfärben
12.05.2022 17:29:56
ChrisL
Hi
Ich würde es über eine bedingte Formatierung machen.
Ganze Spalte A markieren, bedingte Formatierung, Formel ist:

=A1=HEUTE()+2
Farbe festlegen und OK drücken
cu
Chris
AW: Startzelle einfärben
12.05.2022 17:59:16
Yal
Hallo Mike,
Makrorekorder starten,
Zelle färben,
Makrorekorder stoppen,
Code anschauen,
Code lesen und in deutscher Sprache -sich selbt- laut erzählen:

Sub Makro1()
' Makro1 Makro
Range("B10").Select 'ich wähle die Zelle B10 aus.
With Selection.Interior 'mit den "Innen" der augewählte Zelle...
.Pattern = xlSolid 'mit... setze ich ein Muster "solid"
.PatternColorIndex = xlAutomatic 'mit... der Farbindex der Muster soll Excel selbst bestimmen
.Color = 65535 'mit... aber ich setze eine Farbewert (in dem Fall habe ich gelb geklickt)
.TintAndShade = 0 'mit... (verstehe ich nicht, daher klicke ich drauf, drücke F1 und lese. Gehört wohl zur Sachen, die ein Makrorekorder aufnimmt, aber nicht besonders relevant sind)
.PatternTintAndShade = 0 '...(verstehe ich nicht, daher klicke ich drauf und drücke F1)
End With 'ab hier gilt der "mit..." nicht mehr
End Sub
Füllt sich am Anfang vielleicht bescheuert an, aber hilft extrem*. Insbesondere, wenn man keine Ahnung hat.
Daraus entdeckt man sehr schnell, dass diese VBA doch keine Hexenwerk ist.
Da Du diesen Code in deinem einbauen möchte, sieht es am Ende so aus:

Private Sub Workbook_Open()
With ThisWorkbook.Sheets(Format(Date, "MMM"))
.Activate
.Cells(Day(Date) + 2, 1).Select
Selection.Interior.Color = 65535
End With
End Sub
VG
Yal
*: https://www.zeit.de/zett/2017-01/wer-selbstgespraeche-fuehrt-ist-nicht-verrueckt
Anzeige
AW: Startzelle einfärben
12.05.2022 18:27:01
mike49
Hallo Yal,
danke für die Hilfe.
Ich hab's jetzt so gemacht und es funktioniert:

Private Sub Workbook_Open()
ActiveSheet.Unprotect
With ThisWorkbook.Sheets(Format(Date, "MMM"))
.Activate
.Cells(Day(Date) + 2, 1).Select
Selection.Interior.ColorIndex = 19
ActiveSheet.Protect
End With
End Sub
LG
mike49
Vielen Dank für die Rückmeldung
12.05.2022 18:45:08
Yal
Hallo Mike,
konsequenterweise könnte man die Wiederholung von Activesheet zweimal vermeiden:

Private Sub Workbook_Open()
With ThisWorkbook.Sheets(Format(Date, "MMM"))
.Activate
.Unprotect
.Cells(Day(Date) + 2, 1).Select
Selection.Interior.ColorIndex = 19
.Protect
End With
End Sub
Es sei denn, das Blatt des aktuellen Monats nicht die Activesheet wäre, die es zu "unprotect" gilt. Würde aber keinen Sinn ergeben.
Wenn auch noch dazu erklären möchte, dass man eine "With" innerhalb eines With temporär umlenken kann (die Ursprungsdefinition wird anschliessend weider hergestellt):

Private Sub Workbook_Open()
With ThisWorkbook.Sheets(Format(Date, "MMM"))
.Activate
.Unprotect
With .Cells(Day(Date) + 2, 1)
.Select
.Interior.ColorIndex = 19
End With 'der aktuellen With gilt nicht mehr, es gilt den bisherigen wieder.
.Protect 'Mit Worksheets... schutzen
End With
End Sub
könnte aber leicht verwirrend sein.
VG
Yal
Anzeige
AW: Startzelle einfärben
12.05.2022 18:36:14
onur
Das Problem ist nur, dass diese Zelle am nächsten Tag immer noch gefärbt wäre.
AW: Startzelle einfärben
12.05.2022 18:49:04
Yal
Ja, richtig. Soweit hatte ich nicht gedacht.
Ich versuche mich mit einem blöden Spruch zu retten: wenn wir alle Steine aus dem Weg ausräumen, wird auch nicht gelernt, auf die Steine aufzupassen...
VG
Yal
AW: Startzelle einfärben
12.05.2022 19:04:19
mike49
Hallo onur,
ja das ist mir aufgefallen.
Wie kann ich das korrigieren?
Gruß
mike49
AW: Startzelle einfärben
12.05.2022 19:14:34
Yal
Hallo Mike,
vielleicht wiederhole ich mich, aber gut:
Makroauszeichnung starten,
alle Zellen auswählen (der Quadrat über den Zeilennummer links der Spaltenbuchstaben),
Farbe auf "keine Füllung" stellen,
Makroauszeichnung stoppen,
Code anschauen,
usw.
Makroaufzeichnen sollte immer der erste Gedanken sein.
VG
Yal
Anzeige
AW: Startzelle einfärben
12.05.2022 19:24:01
onur
Mache eine bed. Formatierung mit der gewünschten Farbe, gültig für den gewünschten Bereich (A3:A33) mit dieser Formel:

=ZEILE()=TAG(HEUTE())+2
Dann ist immer (nur) der aktuelle Tag gefärbt.
AW: Startzelle einfärben
12.05.2022 19:43:04
mike49
Ja. Diese Lösung ist gut 😊
Jetzt sollte nur noch die gefärbte Zelle nicht mit ausgedruckt werden!
Gibt's hierfür eine Lösung?
AW: Startzelle einfärben
12.05.2022 20:30:29
onur
Such dir eine Zelle auf dem Blatt aus, das nicht benutzt wird (im Beispiel A1)
Ändere die Formel der bedForm wie folgt (Adresse $A$1 ggf anpassen):

=UND(ZEILE()=TAG(HEUTE())+2;$A$1="")
DAS in das Modul des WORKBOOKS:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Tabelle1").Range("A1") = " " 'Blattnamen und Zellenadresse anpassen
End Sub
DAS in das Modul des Blattes:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = "" 'Zellenadresse anpassen
End Sub
Sobald du nach dem Drucken irgend eine Zelle anklickst, kommt die bedForm wieder.
Leider etwas umständlich, aber es gibt halt kein AfterPrint-Ereignis.....
Anzeige
AW: Startzelle einfärben
13.05.2022 09:36:47
mike49
Ja! So klappt's 😊
Vielen Dank für deine Hilfe
Gruß
mike49
Gerne !
13.05.2022 17:30:49
onur
AW: Startzelle einfärben
16.05.2022 17:33:57
Herbert_Grom
Hallo Mike,
schau dir mal meinen Vorschlag an. Damit brauchst du nur noch 1 Monatsblatt "Auswertung". Die einzelnen Monate kannst du mit dem Drehfeld auswählen. Probiers mal!
https://www.herber.de/bbs/user/153090.xlsm
Servus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige