Für Makros, sowohl in der Datei als auch in AddIns, sind benutzerdefinierte Eigenschaften optimal, um sich spezifische Werte zur jeweiligen Datei zu merken. Umso lästiger allerdings, wenn Sie solche Eigenschaften in jeder Vorlage erneut eintragen müssen. Lorenz Hölscher stellt Ihnen ein einfaches Makro vor, welches alle diese Eigenschaften von einer Datei in eine andere kopiert.
Was sind benutzerdefinierte Eigenschaften?
Wenn Sie bisher noch nicht mit benutzerdefinierten Eigenschaften gearbeitet haben, stellt Ihnen der Beitrag "Excel: benutzerdefinierte Eigenschaften - Einstellungen clever speichern!" diese ausführlich vor. Es gibt sie übrigens nicht nur in Excel, sondern in allen Microsoft-Office-Programmen.
Haben Sie erst einmal entdeckt, wie praktisch es ist, Datei-spezifische Werte in benutzerdefinierten Eigenschaften abzuspeichern, sammeln sich dort schnell eine Menge Einstellungen. Mit jeder neuen Excel-Vorlage für Ihre Makros müssen Sie dann immer wieder diese benutzerdefinierten Einstellungen neu anlegen.
Eigenschaften neu anlegen?
Natürlich können Sie einfach eine vorhandene Datei unter einem neuen Namen speichern, dann sind die benutzerdefinierten Eigenschaften schon dabei. Damit haben Sie aber alle anderen Inhalte auch mitkopiert. Außerdem kann es umgekehrt mal sein, dass Sie fertige Vorlagen für Ihre Makros anpassen müssen. Es ist daher sinnvoll, Inhalt und Eigenschaften getrennt behandeln zu können.
Daher soll ein kleines Makro die mehr als mühsame Arbeit übernehmen, alle benutzerdefinierten Eigenschaften in eine andere Datei zu kopieren. Um die beteiligten Quell- und Zieldateien bequemer auswählen zu können, erstellen Sie dazu am besten ein Formular:
Der Dialog enthält vor allem zwei Listenfelder.
Am Präfix des Namens ist auch der Typ des Kontrollelements zu erkennen. Es handelt sich also um je zwei
Labels/Bezeichnungsfelder (lbl...)
Listboxen/Listenfelder (lst...)
Command buttons/Schaltflächen (btn...)
Für die beiden Listenfelder stellen Sie folgende Eigenschaften ein, damit auch eine mehrspaltige Anzeige gut funktioniert:
