ich möchte eine Art Gantt-Diagramm erstellen. Aber die Timeline nicht über die bedingte Formatierung einfärben, da ich danach mit den farbigen Balken weiter arbeiten will.
Der Import der Dateien (Maschinen und die eine Datumsspalte) sind alle schon vorhanden, siehe unten. Ich suche nur ein Makro, dass wie beim Gantt die Zellen für den Datumksbereich einfärbt. Leider scheitere ich kläglich daran, da ich mich erst seit kurzem mit VBA auseinander setzte.
Für jede Hilfe wäre ich auserordentlich Dankbar! Vorab vielen Dank für eure Hilfe!
Gruß Jonas
[ Bild bitte so als Datei hochladen: Klick mich! ]
ich habe dir die Datei nochmal deutlicher zusammengestellt. Die oberen Werte beziehen sich auf den Montag der drüber stehenden Kalenderwoche. Über die bedingte Formatierung bekomme ich das hin. So ist es auch in der Datei gemacht( Beispiel_Gantt). Das Problem ist, dass ich durch die Formatierung nicht mehr mit einem VBA Code die Farbigen zellen ansprechen kann. Das hat den Hintergrund dass in die eingefärbten Balken die Seriennummer und noch andere Daten reingeschrieben werden soll.
Ich hab in einem anderen Forum gesehen dass es anscheinend geht. Die Datei lade ich auch noch hoch(Gantt_aus_forum). Das Problem ist bei der anderen Datei, dass da noch der komplette Import und vieles anderes drinne Steckt, dass ich nicht brauche. Vorallem verstehe ich es überhaupt nicht und bekomme es durch meine totale unerfahrenheit leider nicht selbst hin. Ich will nur wie mit der Formatierung die Bereiche durch ein Makro färben.
Ich hoffe du kannst mir weiterhelfen und vielen Dank für deine Hilfe! Liebe Grüße Jonas
nur zum Verständnis, weil du es "einfach" haben möchtest. Meinst du es z.B. so:
Code:
Sub GantFaerben()
Dim Spalte As Integer Dim Zelle As Range
For Each Zelle In Range("c6:c9") For Spalte = 4 To 11 If Zelle = Cells(5, Spalte) Then Cells(Zelle.Row, Spalte).Interior.ColorIndex = 4 End If Next Next
End Sub
Ich habe das bewusst ganz einfach gehalten mit absoluten Bereichsangaben, daran kann man ja noch feilen. Es geht nur um den grundsätzlichen Lösungsweg.
Hinweis: Vergiss nicht, vorher die bedingte Formatierung zu löschen, sonst siehst du keine Veränderung!
Herzliche Grüße aus dem Rheinland Jörg
[Windows 10, Microsoft 365]
Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag 28 • J.L.
funktioniert, is ja geil! Das is en toller Ansatz! Jetzt bin ich schonmal ein rießen Stück weiter. Das einzige was mir quasi noch fehlt wäre ein Befehl das er mir die Färbung, auch durchführt wenn das Datum nicht auf den Montag fällt, sondern inerhalb der KW liegt. Dann könnt ich en Makro finden das mir den Bereich von der Farbe reinigt, wenn sich das Datum ändert und neu drüber laufen lassen. Dann bin ich voll am Ziel angekommen
füge folgenden Code mal im VBA-Projekt (Projekt Explorer) unter "Microsoft Excel Objekte" in "Tabelle1 (Tabelle1)" ein (Doppelklick auf "Tabelle1 (Tabelle1)") (also NICHT unter "Module" - "Modul1"!):
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then Cancel = True Range("D6:K9").Interior.ColorIndex = xlColorIndexNone End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Spalte As Integer
If Target.Column = 3 Then For Spalte = 4 To 11 Cells(Target.Row, Spalte).Interior.ColorIndex = xlColorIndexNone If Target + 1 - Weekday(Target, 2) = Cells(5, Spalte) Then Cells(Target.Row, Spalte).Interior.ColorIndex = 4 End If Next End If
End Sub
Damit wird auf zwei Ereignisse reagiert:
1. Ein Doppelklick auf "C4" löscht alle Farbmarkierungen.
2. Eine Veränderung innerhalb von Spalte 3 (Lieferdatum) färbt die Zellen, wie du es willst.
Ich habe wieder bewusst direkte Zellbereiche gewählt, um es etwas anschaulicher zu machen. Das kann man "schöner" machen. "Target" ist übrigens die Zelle, die verändert wird oder auf die ein Doppelklick erfolgt.
Herzliche Grüße aus dem Rheinland Jörg
[Windows 10, Microsoft 365]
Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag 28 • J.L.
Probiere das am Donnerstag im geschäft aus, wenn das alles so klappt wie es soll, erstell ich ne kleine Datei mit allem, falls jemand nochmal vor dem gleichen Problem steht.
nur kleines Feedback für die Leute die nochmal das gleiche Problem haben.
Die Codes aus dem Chatverlauf funktionieren einwandfrei. Man muss nur eines beachten. Wenn ihr eine große Tabelle habt und die Vergleichsfunktion anwendet für die Einfärbung der Zellen müsst ihr darauf Achten, dass alle Zellen der angesprochenen Spalte ein Datum oder die KW, leere Zellen sind auch in Ordnung stehen. Wenn z.B.. ein Wert wie 'WERT! steht unterbricht er das Makro mit Laufzeilenfehler. Die müsst ihr vorher löschen!. sonst funktioniert das alles Top!!