Füllfarben VBA über "inhalte einfügen" verknüpfen
16.01.2006 11:10:01
Thomas
ich habe folgendes Problem. Ich möchte gerne An-Abwesenheit der Mitarbeiter in Excel darstellen/planen. Hierfür habe ich mir folgendes Szenario vorgestellt. Jeder Mitarbeiter hat Zugriff auf seine eigene Excel-Datei, in der er seinen Urlaub / Schulungen .. etc. plant.
Eine Zeile mit allen Tagen des gesamten Jahres. Je nach Eingabe (u=Urlaub, w=workshop) werden die Felder entsprechend farblich markiert. Hier der Code: (habe den aus den Netz und nur etwas angepaßt, sonst keine Ahnung von VBA)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("C5:GD89")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
Select Case UCase(.Value)
Case "U" 'Urlaub
.Interior.ColorIndex = 6
.Font.ColorIndex = 6
Case "R" 'Rest-Urlaub
.Interior.ColorIndex = 6
.Font.ColorIndex = 1
Case "UU" 'Unbezahlter-Urlaub
.Interior.ColorIndex = 6
.Font.ColorIndex = 1
Case "S" 'Sonder-Urlaub
.Interior.ColorIndex = 6
.Font.ColorIndex = 1
Case "B" 'Bildungsurlaub-Urlaub
.Interior.ColorIndex = 6
.Font.ColorIndex = 1
Case "K" 'Krankheit
.Interior.ColorIndex = 5
.Font.ColorIndex = 5
Case "G" 'Gleittag
.Interior.ColorIndex = 4
.Font.ColorIndex = 4
Case "GG" 'geplanter Gleittag
.Interior.ColorIndex = 4
.Font.ColorIndex = 1
Case "D" 'Dienstreise
.Interior.ColorIndex = 3
.Font.ColorIndex = 1
Case "W" 'Workshop / Schulung etc.
.Interior.ColorIndex = 15
.Font.ColorIndex = 15
Case "KU" 'Kur
.Interior.ColorIndex = 8
.Font.ColorIndex = 8
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 0
End Select
End With
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Die ausgefüllten Dateien der Mitarbeiter möchte ich jetzt in einer Datei zur Übersicht untereinander zusammenfahren. Das habe ich mir durch das Kopieren der gesamten Zeile in der Quelldatei und "Inhalte Einfügen"-(Alles, Verknüpfen) in der Zieldatei vorgestellt. Leider funktioniert es nicht so wie ich mir es vorgestellt habe. Die eingegebenen Buchstaben werden angezeigt aber nicht die Füllfarben. Wenn ich den Code auch in die Zieldatei einfüge, dann werden nur neue Eingaben farblich markiert, jedoch nicht die aus der Verknüpfung kommenden. (Liegt wohl an dem "Change")
Kann man die Füllfarben "auch" verknüpfen? Oder kann man den Code so verändern, dass er auch bei vorhandenen Werten die Füllfarbe ändert? z.B. beim Öffnen der Datei nach dem Abgleich aus der Mitarbeiter-Datei und nach einer direkten Eingabe.
Vielleicht ist mein Lösungsansatz überhaupt nicht richtig und jemand hat einen besseren?
Andere Frage nebenbei: Gibt es die Möglichkeit Verknüpfungen bidirektional zu gestalten, d.h. dass wenn ich in der Zieldatei etwas eingebe, dass es auch in der Mitarbeiter-Datei verändert wird?
Ich danke im voraus unf hoffe auf Antworten.
Viele Grüße
Der-Emder