erstmal zur Situation: Ich habe in Excel 2010 einen Kalender erstellt, der in 7 Spalten das Jahr anzeigt, immer Montage unter Montagen, Dienstage unter Dienstagen usw.
Da ich immer weiter an der Excel-Datei arbeite und meinen Freunden, die das nutzen, dadurch immer wieder neue Versionen von dem Kalender schicke, müssen sie bei jeder neuen Version alle farblichen Markierungen, also Hintergrundfarben in den Zellen, jedes Mal manuell wieder im neuen Kalender einfügen.
Jetzt die Frage:
Ist es möglich, mithilfe von VisualBasic einen Makro zu erstellen, der es möglicht macht, Zellformatierung von einer Datei in eine andere zu übernehmen? Da die Zellen Formeln beinhalten, die den Kalender jedes Jahr neu anpassen, ist es womöglich einfacher, nur das Zellenformat zu übertragen. Die Größe und die Position des fraglichen Bereichs bleibt immer gleich. Aber natürlich ist mir der Dateipfad der Exceltabelle auf dem PC meiner Freunde nicht bekannt.
Wenn nur du die Excel-Datei bearbeitest und deine Freunde immer nur die Farbe der Zellen ändern: Können sie nicht einfach deine Tabelle kopieren und meinen ihnen nur "Inhalte einfügen" verwenden? Dann sind zwar die Formel weg, aber die Formatierung noch da.
Aber es geht ja eben darum, dass die Formeln erhalten bleiben. Der Kalender soll sich ja jedes Jahr automatisch erneuern. Abhängig von der Zelle D1, wo die formel =year(today()) steht, passt sich der gesamte kalender an.
und zur einfacheren Bedienbarkeit wollte ich das Ganze eben mit einem Makro realisieren.
Mit PasteSpecial PasteFormats war es recht einfach, die Farben auszulesen. Das größte Problem war im Grunde, den vorher ausgelesenen Pfad für den Makro nutzbar zu machen.
Aber es ist mir gelungen.