Hallo zusammen,
habe für einen Freund folgende Lösung geschrieben (ist eine Art Tätigkeitsbericht mit 6 Bereichen). Jeder Bereich ist unterschiedlich breit und durch verschiedene Farben von einander getrennt.
Spoiler anzeigen
Hiermit kann man ab dem Bereich C3 schön sehen, wo sich die aktuelle Zelle befindet.
(Ja, wenn man mehre Zellen mit der Maus markiert funktioniert dies nicht und bei anspringen mit der Maus bleiben auch die alten Markierungen sichtbar)
Mein Freund soll aber sich mit den Pfeiltasten von Zelle zu Zelle sich bewegen und dann funktioniert meine Lösung soweit ganz gut.
Was ich aber nicht verstehe bzw. ich ein kleines optisches Problem habe ist folgendes:
Wie man sieht hole ich die aktuelle Hintergrundfarbe der einzelnen Spaltenbereiche aus den jeweiligen ersten Zeilen. Damit kann ich mal eben schnell die Optik anpassen. Das Einfärbe mache ich ganz normal mit der Füllfarbe im Reiter Start, Schriftart.
Wenn ich jetzt aber meinen Code benutze, dann werden leicht andere Werte eingestellt.
Kennt jemand hier die Lösung bzw. kann mir erklären, warum das so ist?
Gruß
Volker
habe für einen Freund folgende Lösung geschrieben (ist eine Art Tätigkeitsbericht mit 6 Bereichen). Jeder Bereich ist unterschiedlich breit und durch verschiedene Farben von einander getrennt.
VB.NET-Quellcode
- Public Reihe As Integer
- Public Spalte As Integer
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- ' Exit Sub
- Dim AktuellerTag As Integer
- Dim Markierungsfarbe As Integer
- Dim Neutral As Integer
- Dim Morgens As Integer
- Dim Nachmittags As Integer
- Dim Abends As Integer
- Dim Haushaltsdame As Integer
- Dim Sonstges As Integer
- ' Einige Werte festlegen bzw. aktuell ermitteln
- AktuellerTag = 33
- Markierungsfarbe = 50
- Neutral = 0 ' Weiss
- Morgens = Range("D1").Interior.ColorIndex ' Orange
- Nachmittags = Range("M1").Interior.ColorIndex ' Hellgrün
- Abends = Range("Q1").Interior.ColorIndex ' Hellblau
- Haushaltsdame = Range("Y1").Interior.ColorIndex ' Grün Akzent 6, heller 60%
- Sonstges = Range("AF1").Interior.ColorIndex ' Orange Akzent 2, heller 60%
- Reihe = ActiveCell.Row
- Spalte = ActiveCell.Column
- ' Wenn die Überschriftenzeile überschritten wird nach oben, dann nichts unternehmen
- If Reihe < 3 Or Spalte < 3 Then
- Exit Sub
- End If
- ' Die Zeilen einfärben
- ' Spalte 1 - 3
- Call Grundfarben_einstellen(1, 3, Neutral)
- ' Spalte 4 - 12
- Call Grundfarben_einstellen(4, 12, Morgens)
- ' Spalte 13 - 16
- Call Grundfarben_einstellen(13, 16, Nachmittags)
- ' Spalte 17 - 24
- Call Grundfarben_einstellen(17, 24, Abends)
- ' Spalte 25 - 31
- Call Grundfarben_einstellen(25, 31, Haushaltsdame)
- ' Spalte 32 - 35
- Call Grundfarben_einstellen(32, 35, Sonstges)
- ' Spalte 36 - 256
- Call Grundfarben_einstellen(36, 256, Neutral)
- ' Aktuelle Zelle markieren
- Range(Cells(Reihe, 1), Cells(Reihe, 1)).Interior.ColorIndex = AktuellerTag
- Range(Cells(Reihe, Spalte), Cells(Reihe, Spalte)).Interior.ColorIndex = Markierungsfarbe
- End Sub
- Public Sub Grundfarben_einstellen(Anfang As Integer, Ende As Integer, Farbe As Integer)
- ' Generell die aktuelle Reihe, drüber und drunter wieder auf Standard stellen
- If Reihe > 1 Then
- Range(Cells(Reihe - 1, Anfang), Cells(Reihe - 1, Ende)).Interior.ColorIndex = Farbe
- End If
- Range(Cells(Reihe, Anfang), Cells(Reihe, Ende)).Interior.ColorIndex = Farbe
- Range(Cells(Reihe + 1, Anfang), Cells(Reihe + 1, Ende)).Interior.ColorIndex = Farbe
- End Sub
Hiermit kann man ab dem Bereich C3 schön sehen, wo sich die aktuelle Zelle befindet.
(Ja, wenn man mehre Zellen mit der Maus markiert funktioniert dies nicht und bei anspringen mit der Maus bleiben auch die alten Markierungen sichtbar)
Mein Freund soll aber sich mit den Pfeiltasten von Zelle zu Zelle sich bewegen und dann funktioniert meine Lösung soweit ganz gut.
Was ich aber nicht verstehe bzw. ich ein kleines optisches Problem habe ist folgendes:
Wie man sieht hole ich die aktuelle Hintergrundfarbe der einzelnen Spaltenbereiche aus den jeweiligen ersten Zeilen. Damit kann ich mal eben schnell die Optik anpassen. Das Einfärbe mache ich ganz normal mit der Füllfarbe im Reiter Start, Schriftart.
Wenn ich jetzt aber meinen Code benutze, dann werden leicht andere Werte eingestellt.
Kennt jemand hier die Lösung bzw. kann mir erklären, warum das so ist?
Gruß
Volker