Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1516to1520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benutzerdefinierte Formatierung mit VBA ändern

Benutzerdefinierte Formatierung mit VBA ändern
06.10.2016 18:05:34
Heinz
Hallo Zusammen
In einer Tabelle verwende ich jede Menge Benutzerdefinerte Formaterung wie z.B.kg/std . In anderen Sprachen braucht man leider ab und zu auch andere Einheiten. Umrechnen ist meistens nicht notwendig aber eine andere Schreibweise, z.B. kg/hr anstelle kg/std.
Ich suche nach einem Weg die im Hintergrund laufende Auswahltabelle für die Benutzerdefinierten Formatierungen durch eine Länderspezifische Variable umzuschalten. Entweder solche Formatierungen wie #.### $[kg/std] in #.### $[kg/hr] umzutauschen oder in den Zellen den Verweis auf die Formatierung auf eine andere fest angelegte Fremdsprachliche Formatierung zu ändern. Eine Länderspezifische Variable die ich abfragen kann läuft im Hintergrund public mit.
Für jede Zelle eine VBA Formatierung zu machen ist reichlich schwierig bei ca.35 Tabellen mit je 100 Zeilen und xxx Zellen ..... :( Eine UDF mit selbst zusammengebauten Formatierungen geht auch nicht, weil mit den Zellen weiter gerechnet wird.
Hat jemand eine Idee ?
Herzlichen Dank im Voraus.
Heinz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Formatierung mit VBA ändern
07.10.2016 09:47:48
fcs
Hallo Heinz,
Hat jemand eine Idee ?
Ja.
1. genormte Kurzzeichen für Einheiten
Verzichte auf die liebgewonnenen persönlichen oder nationalen Kurzschreibweisen von Einheiten und verwende die im Normenwesen festgelegten Kurzzeichen der Einheiten.
Damit hast du zumindest für alle Länder mit lateinischem Alphabet die Basiseinheiten erschlagen.
2. Formatnamen
Verwende konsequent Formatnamen, die nur das Zahlenformat ändern.
In einer Tabelle legst du für die verschiedenen Länder/Sprachen die für die Formatnamen zu verwendenden benutzerdefinierten Formate fest.
Bei einem Wechsel der Sprache muss dann ein Makro die Liste der Formatnamen abarbeiten und das zugehörige nationale Zahlen-Format den Formatnamen zuweisen.
Allerdings muss man aufpassen, dass man dabei innerhalb einer Arbeitsmappe nicht die max. zulässige Anzahl von Formatierungen in einer Arbeitsmappe überschreitet.
3. Einheiten in separaten Zellen
Dafür ist der Zug wahrscheinlich schon abgefahren.
Wenn nicht, dann könntest du die Einheiten im Spaltentitel oder in einer Nachbarspalte per SVERWEIS länder-/sprachspezifisch gestalten.
Egal welchen Weg du einschlägst. Du kommst nicht darum herrum einmal deine Tabellenblätter gründlich zu überarbeiten.
LG
Franz
Hier ein Beispiel mit Umsetzung via Zellformatvorlagen
https://www.herber.de/bbs/user/108636.xlsm
Anzeige
AW: Benutzerdefinierte Formatierung mit VBA ändern
07.10.2016 11:11:36
Heinz
Hallo Franz
Das mit den internationalen Kurzbezeichnungen verwenden wir zu 80%. Mein Beispiel war vielleicht etwas unglücklich. kg/h versteht natürlich jeder und es muss nicht kg/std heißen.
Anders z.B. bei der Formatierung Sack/h oder Palette/std da muss ein anderer Weg her. Da mit den Werten gerechnet wird sind natürlich Benutzerdefinierte Formate angelegt. Zweite Spalten würden den Rahmen sprengen und zu unübersichtlich sein. Sieht auch beim Ausdruck nicht so schön aus.
Du Schreibst:
2. Formatnamen
Verwende konsequent Formatnamen, die nur das Zahlenformat ändern.
In einer Tabelle legst du für die verschiedenen Länder/Sprachen die für die Formatnamen zu  _
verwendenden benutzerdefinierten Formate fest.
Bei einem Wechsel der Sprache muss dann ein Makro die Liste der Formatnamen abarbeiten und das zugehörige nationale Zahlen-Format den Formatnamen zuweisen.
Genau solch ein Makro suche ich.
-> Globale Änderung der Zuweisung der benutzerdefinierten Formate per Makro oder Formatierung der Zellen auf Basis einer Liste die irgendwo abgelegt ist.
Gruß
Heinz
Anzeige
AW: Benutzerdefinierte Formatierung mit VBA ändern
07.10.2016 11:20:33
Heinz
Sorry,
habe den Anhang übersehen. Das geht schon in die Richtung nach dem was ich gesucht habe.
Jetzt müsste es nur noch global gehen. Ich meine bei Sprachwechsel alle Tabllen in allen Spalten abzufahren und zu ändern geht natürlich auch, nur dauert dann.... any Idea ?
Herzlichen Dank
Heinz
AW: Benutzerdefinierte Formatierung mit VBA ändern
07.10.2016 17:50:51
fcs
Hallo Heinz,
meine Beispieldatei ist schon so eingerichtet, dass die Anpassung global in der Datei erfolgt.
Entsprechend den Namen in Spalte A ("Formatmamen") in Blatt "Einheiten" sind Zellformatvorlagen angelegt.
Diese Zellformatvorlagen sind so definiert, dass sie nur das Zahlenformat der Zellen festlegen.
Alle anderen Formate der Zellen bleiben unverändert.
In Spalte D ist das Format der Zahlen definiert, indem das Zahlenformat der Zelle entsprechend gewählt wird. Im wesentliichen dann die Anzahl der Nachkomma-Zahlen und ob die 1000er-Trennzeichen dargetsellt wird. In den Spalten E bis zum Ende der Tabelle nach rechts sind dann die zugehörigen Texte der Sprachen eingetragen.
Bei der Definition der Formatvorlage hab ich immer das deutsche benutzerdefinierte Formt benutzt als Initialwert.
Der Zelle in Spalte B ist die Formatvorlage in Spalte A zugewiesen und ein Beispielwert wird eingetragen. Dies dient nur als Kontrollanzeige.
In den Tabellen mit den Daten musst du dann die betreffenden Zellbereiche markieren und ihnen die entsprechende Zellformatvorlge zuweisen.
Wird im Blatt "Übersicht" die Sprache geändert, dann wird automatisch das Makro gestartet, das den im Blatt "Einheiten" gelisteten Zellformatvorlgen (Styles) als Zahlenformat die Kombination der Formate in Spalte D und der Sprachspalte als benutzerdefiniertes Format zuweist.
Mit der Änderung der Zellformatvorlage wird die Darstellung in allen Zellen geändert, denen die Zellformatvorlage zugewiesen ist.
Nach der Definition der Zellformatvorlagen in Blatt "Einheiten" hast du also einmal die Fleißarbeit in den anderen Tabellenblättern den relevanten Zellen die Formatvorlagen zuzuweisen.
Gruß
Franz
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige