Hallo Zusammen,
urlaubsbedingt erst jetzt meine Reaktion.
OK, ich hätte mich vielleicht anders ausdrücken sollen - ich hab leider wenig Ahnung von VBA und versuche mir schon Makros zusammen zu bauen, mit denen
das ggf zu bewerkstelligen ist. Allerdings passt Basteln ohne Grundkenntnisse nicht mit VBA zusammen : (
Könnt ihr mir weiterhelfen?
Anbei einmal ein Screenshot von der Datei. Die manuelle Eingabe im rechten Bereich wird im linken Bereich "grafisch" dargestellt.
Als Endergebnis (nach Makro-Auslösung) sollen die Mitarbeitereinsatzzeiten, wie oben beschrieben, in verbundenen Zellen zu sehen sein, die eine mitarbeiterspezifische Farbe und den jeweiligen Namen enthalten.
Die Füllfarbe auf dem Screenshot wurde mit der bedingten Formatierung gelöst, da jede "Einsatzzelle" die Personalnummer beinhaltet (Schriftfarbe analog Füllfarbe).
Meine Ansätzen wären jetzt DO- or For-Schleifen - aber wie was "gedimmt" werden muss, oder wie ein Loop in einem Loop verschachtelt wird (oder ob das überhaupt geht) - da hab ich keine Ahnung von :(
Mein Ansatz in McDonalds-VBA:
Sub ZellenVerbinden 'sucht zeilenweise angrenzende Zellen mit gleichem Inhalt und verbindet diese
Zeile = 6
Spalte = 4
Do While Zeile = 22 '(kann hier ein "Sprung" eingesetzt werden? d.h. Zeile 6,7,8 - 3 leer - 12,13,14 - 3 leer - ... Gesamttabelle liegt bei ca. 200 Zeilen)
Do While Spalte = 56
Wenn (Zeile, Spalte) = (Zeile, Spalte + 1) dann
Durchlaufe von (Zeile, Spalte) aus die (Zeile) bis (Zeile, Spalte + X) ist ungleich (Zeile, Spalte)
Verbinde Bereich (Zeile, Spalte) bis (Zeile, Spalte + X)
Setze (Zeile, Spalte) = (Zeile, Spalte + X + 1)
Loop beginnend bei (Zeile, Spalte + X + 1) sonst
Spalte +1
Loop
Zeile + 1
Loop
Sub FormelnEinfügen
Ähnlich wie oben, nur dass keine Wennabfrage benötigt wird und statt Zellen verbinden die Formel eingefügt wird.
Ich wäre sehr dankbar für eure Hilfe, da dieses Makro einige Stunden an wiederkehrender Arbeit ersparen würde.
Besten Dank im Voraus.
Gruß Björn
|