VBA Excel Formatierung von einer Zelle übernehmen

Rumbah

Lieutenant
Registriert
Apr. 2004
Beiträge
695
Hallo,

ich habe in Excel 2007 einen Kalender ertellt. In diesen sollen wöchentliche Termine eingetragen werden. Deshalb habe ich einen extra Wochenplan als Tabelle erstellt. Nun übernehme ich mit einer Formel die Termine und trage sie in den Kalender ein. Die Formel prüft einfach, welche Zelle zu welcher Uhrzeit gerade ist und sucht dann den passenden Eintrag raus.

Nun möchte ich aber, dass auch die Formatierung aus dem Wochenplan übernommen wird. Dazu gehört Textgröße und Ausrichtung. Leider kann ich das nicht mit einer bedingten Formatierung machen, sondern nur mit einem Makro, da man die Textgröße nicht mit einer bedingten Formatierung ändern kann.

Am einfachsten wäre es natürlich, wenn ich im Makro direkt Zugriff auf den Zellbezug hätte, der beim Auswerten der Formel herauskommt (z.B. Jan!$S$5). Aber wenn ich das richtig verstanden habe, dann habe ich mit .Text nur Zugriff auf den reinen Text und mit .Value nur den Zugriff auf die Formel. Ich bräuchte aber den Zwischenwert.

Wenn jemand eine andere oder elegantere Lösung hat, dann finde ich das natürlich auch gut. Mit VBA habe ich nicht so viel Erfahrung.

Noch zwei Bilder zur Verdeutlichung:

w3ng46Z.png

7IDfWdN.png
 
Hi,

hab ich das richtig verstanden: Im Wochenplan, im unteren Bild rechts, werden mit Hilfe von Formeln
die Einträge aus dem Monatskalender links eingetragen, und du willst jetzt auch die Formatierung mitnehmen?
Kannst du mal ein Beispiel einer Formel im Wochenplan posten, nur um das Ganze besser nachvollziehen zu können.

Welche Formatierungen willst du denn übertragen?
Grundsätzlich sollte das per VBA lösbar sein, wie willst du es denn triggern?

Gruß

Edit: Moment, andersrum, du trägst Sachen in den Wochenplan ein und die werden in den Kalender übernommen, oder?
 
Zuletzt bearbeitet:
Genau, die Sachen werden in den Wochenplan eingetragen und in den Kalender übertragen.

Eine Formel, z.B für Montag. 10-12:30 (in Wirklichkeit werden einfach alle Tage und Zeiten per Wenn Verschachtelung abgefragt):

=Wenn( Und(Wochentag(C8;2)=1;Spalte(C8)=4); Jan!$T$3; Wenn ...)


Das erste Tabellenblatt mit der Tabelle heißt Jan. Mit der Formel wird dann der Text übernommen, indem das Ergebnis ein Verweis direkt in die Wochentabelle ist. Nun würde ich gern aus der Wochentabelle gleich die Formatierung mit übernehmen, z.B. Infogang Montag vormittags soll horizontal und vertikal mittig ausgerichtet sein und Schriftgröße 18 haben, und nicht wie im Standard, hier oben links ausgerichtet mit Schriftgröße 10.
 
Okay, also was mir da spontan einfällt, is ne abfrage welche woche im moment übernommen werden soll und dann quasi format übertragen vom bereich S3:W9 auf C8:I14. Das Problem dabei ist, dass der Bereich, der Formatiert werden soll, dynamisch ist.
Um den Bezug rauszufischen könnte man ein hilfskalender mit indirekt-formeln verwenden, um diese bezüge im vba nutzen zu können... aber ehrlich gesagt ist es von außen relativ schwierig da nen code zu zaubern, ohne die datei selbst vor sich zu sehen.
Ich denk nochmal drüber nach, vllt fällt mir noch was ein.

Gruß
 
Zurück
Oben