Clever-Excel-Forum

Normale Version: Makro zur zellenweisen Änderung des Währungsformats
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Leute,

ich habe eine Frage zu Makros und hoffe jemand kann mir helfen.

Kurze Zusammenfassung meiner Vorstellung:

Ich habe eine Dropdown-Liste. Aus dieser Liste kann man verschiedene Währungen auswählen. Sobald eine Währung gewählt wurde möchte ich, dass ein Makro direkt alle von mir bestimmten Zellen (das sind mal größere Blöcke und manchmal einzelne Zellen) in das jeweilige Währungsformat ändert. Der Hintergrund ist ein sheet zur Berechnung von Reisekosten und das Ding ist einfach ein Monster. Bei so vielen Zellen würde es einfach echt lange dauern, alles manuell zu ändern.

Als Währungen bräuchte ich Euro, US-Dollar, Pfund, Schweizer Franken, Dänische Kronen und Hong Kong Dollar.

Ich habe bereits ähnliche Beiträge gefunden und habe auch mehrere Stunden versucht, die Lösungsansätze nachzuvollziehen.
Aber leider bin ich kein wirklicher Excel-Experte. Paar if-Formeln klappen gerade noch so.

Wäre cool, wenn mir jemand weiterhelfen kann, oder vielleicht einen Code vorgeben könnte.

Vielen Dank im Voraus!

MfG Kutschi
Hi,

(07.04.2016, 11:18)Kutschi schrieb: [ -> ]Wäre cool, wenn mir jemand weiterhelfen kann, oder vielleicht einen Code vorgeben könnte.

Per VBA-Makro-Code ist das kein Problem.

Wenn Dir jemand einen Code erstellt, ist der Code abgestimmt auf die Datei, die der Helfer sich erzeugt hat, das sind mit Sicherheit nicht dieselben Zell-Adressen, wie in Deiner Datei, das müßtest Du also anpassen.

Besser wäre es, die Helfer hätten Deine Datei.
Also stelle bitte (D)eine (Beispiel-)Tabelle als Excel-Datei zur Verfügung oder stelle die relevanten Ausschnitte hier dar, siehe die als Wichtige Themen: markierten Forums-Beiträge.
Deine Mustertabelle sollte sensible Daten anonymisiert haben. Vom Aufbau her muss sie aber deinem Original gleichen.
Die farbigen Texte sind anklickbare Links:

Hier steht, wie es geht:
Beitrag 1 WICHTIG: Tabellenausschnitte und VBA-Codes im Forum einstellen
Beitrag 2 WICHTIG: Arbeitsmappen zur Verfügung stellen

Eine Bitte:
Anstatt Screenshots ist eine Datei oder ein Ausschnitt besser!
"Du gehst ja auch nicht in die Werkstatt und gibst ein Foto Deines kaputten Autos ab!"
Danke für die schnelle Antwort Ralf,

leider ist es mir untersagt jegliche Dateien aus unserem betrieblichen Intranet in öffentlichen Foren hochzuladen. Selbst wenn sämtliche sensiblen Daten unerkenntlich gemacht worden wären. Zusätzlich ist es auch nicht möglich Programme von Drittanbietern herunterzuladen. Wir haben sehr strikte Sicherheitsvorschriften was das angeht.

Ich weiß, dass das die Arbeit nicht erleichtern wird. Aber die Zellen, die per Makro geändert werden sollen, kann ich doch sicherlich auch selbst dann einfügen bzw. auf mein Sheet abändern.

Tut mir wirklich Leid, dass ich mehr Umstand machen muss, als nötig, aber ich will natürlich auch nicht gegen meine Vorschriften verstoßen.

Zu Info vielleicht noch:

Das Sheet hat 12 Mappen. Für jeden Monat eine. Ich vermute mal, wenn ich das Makro im Januar einfüge und dann Januar kopiere und in Februar abändere, dass das Makro dann übernommen wird. Falls nicht kann mich jemand gerne eines besseres belehren :D

Beste Grüße
Kutschi
Hi,

(07.04.2016, 12:59)Kutschi schrieb: [ -> ]Das Sheet hat 12 Mappen. Für jeden Monat eine. Ich vermute mal, wenn ich das Makro im Januar einfüge und dann Januar kopiere und in Februar abändere, dass das Makro dann übernommen wird.

Befasse Dich mal mit der Nomenklatur: Eine Mappe besteht aus einem oder mehreren Arbeitsblättern/Tabellenblättern/Sheets.

Wenn das Makro allgemein formuliert ist, klappt das durch kopieren, ansonsten nicht. Dann kann aber auch einfach das allgemeine Makro ein Mal in "DieseArbeitsmappe" gestellt werden, das dann per Schaltfläche aus jedem Blatt aufgerufen wird und die Änderungen nur im aktuellen Blatt durchführt.

Wenn Du die Datei nicht als Musterdatei zeigen kannst, dann schreibe mal auf:
  • in welcher Zelle ist die Dropdownliste?
  • wie sind die Begriffe in der Dropdown-Liste?
  • in welchen Zellen soll die Währung geändert werden?
Tut mir Leid, wenn ich die falschen Begriffe verwende. Aber werde es mir auf jeden fall für die Zukunft merken :D

Ich lade jetzt einfach mal eine Liste hoch in der die gleichen Zellen in gelb markiert sind, wie in der richtigen Liste.
Das sollte es einfacher machen, da die Zellen bis Zeile 100 gehen. Und gleichzeitig sollte es mir keine Schwierigkeiten verursachen :D

[attachment=4841]

Danke für die Unterstützung!

Liebe Grüße
Hallo!
Weise dem Dropdown folgendes Makro zu:
(hat mich im übrigen ganz schön Mühe gekostet, die vermaledeiten Ländercodes herauszufinden, kostet einen HongKong-Dollar Wink)

Sub Dropdown1_BeiÄnderung()
Dim curRange As Range
Set curRange = Range("E14:AI32,AK14:AK32,E37:AI48,AK37:AK48,E52:AI63,AK52:AK63,E67:AI67,AK67")
With curRange
   Select Case Range("H2")
      Case 1: .NumberFormat = "#,##0.00 [$€-407]"
      Case 2: .NumberFormat = "[$$ -409]#,##0.00"
      Case 3: .NumberFormat = "[$£ -809]#,##0.00"
      Case 4: .NumberFormat = "[$CHF -807]#,##0.00"
      Case 5: .NumberFormat = "[$kr. -406]#,##0.00"
      Case 6: .NumberFormat = "[$$ -3C09]#,##0.00"
   End Select
End With
End Sub

Du musst evtl. noch prüfen, ob das Währungszeichen vor oder hinter der Zahl stehen muss.

Anmerkung:
Die Ländercodes brauchst Du nicht unbedingt, da die Zeichen alle im ASCII-Satz vorhanden sind.
Sollte es dich mal nach Kasachstan verschlagen, ist es gut zu wissen, dass man die kasachischen Tenge mittels #,##0.00 [$?-43F] darstellt.
Das ? wird dann automatisch in  umgewandelt …

Gruß Ralf
Mit dem Tenge ists noch blöder:
.NumberFormat = "#,##0.00 [$" & ChrW(8376) & "-43F]"

Gruß Ralf
Hammer!

Funktioniert genau so, wie gedacht. Vielen, vielen Dank dafür :)

Wäre froh, wenn ich das auch so drauf hätte. Glaube ich muss mich mal etwas mehr damit auseinandersetzen :D

Hast mir auf jeden fall sehr geholfen. Hätte ich einen Hong Kong Dollar dann würde ich dir einen geben :D :P

Danke nochmal!

Liebe Grüße
Kutschi
Danke fürs Feedback.
Ich habe noch zwei Währungssymbole für den HongKong-Dollar gefunden:
und 
Entsprechen Chrw(22291) und Chrw(20803)

Aber dies nur am Rande …

Gruß Ralf