Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Euro - SFR Format per Makro

Euro - SFR Format per Makro
07.09.2007 13:34:53
gio
Schönen Fr nachmittag,
brauche Eure Hilfe, habe nun zu lange selber rumprobiert.
Habe eine Preisberechnungstabelle über mehrere Arbeitsblätter.
Dort habe ich auch die Möglichkeit geschaffen zwischen
Berechnung € und Berechnung SFR umzuschalten und dasgeht gut.
Nun aber sollte auch das Format mitgeändert werden.
Benötige Makro das mir da hilft.
Wenn die Auswahll A1="Schweiz" dann
in allen Arbeitsblättern in allen Zellen wo Währungsformat € vorhanden ist dieses in SFR geändert wird.
und umgekehrt
A1="Eurozone" wieder SFR zu € .....
Besten Dank u. Gruss
gio

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

Betreff
Datum
Anwender
Anzeige
AW: Euro - SFR Format per Makro
07.09.2007 15:53:11
Andreas
Hallo gio,
anbei eine Beispieldatei:
https://www.herber.de/bbs/user/45788.xls
Ändert jeweils alle Zellen im aktiven Blatt auf € oder SFR (eines der beiden Formate muss allerdings schon eingestellt sein).
Viele Grüße
Andreas

AW: Euro - SFR Format per Makro
07.09.2007 15:59:00
Wolli
Hallo Gio, hier eine Ereignisprozedur (in den Code des Arbeitsblattes einfügen). Sie schaltet _ die Zellen um, sofern sie vorher auf SFR bzw. EUR standen. Währungslose Zahlen und andere Formate bleiben unangetastet. Es erfordert allerdings, dass die Zahlenformate über "Währung" (nicht "Buchhaltung" - damit hatte ich Probleme) exakt eingestellt sind. Frag ggf. das eingestellte Zahlenformat im Direktbereich (Strg+G) ab mit dem Befehl

debug.Print activecell.NumberFormat



Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address = Range("A1").Address Then
If Target = "Schweiz" Then
For Each c In ActiveSheet.UsedRange.Cells
If c.NumberFormat = "#,##0.00 $" Then
c.NumberFormat = "[$SFr.-807] #,##0.00"
End If
Next c
ElseIf Target = "Eurozone" Then
For Each c In ActiveSheet.UsedRange.Cells
If c.NumberFormat = "[$SFr.-807] #,##0.00" Then
c.NumberFormat = "#,##0.00 $"
End If
Next c
End If
End If
End Sub


Viel Glück, Gruß, Wolli

Anzeige
AW: Euro - SFR Format per Makro
07.09.2007 16:31:05
fcs
Hallo gio,
der einfachste Weg dürfte sein, dass du für die Währungsfelder, deren Währung umgeschaltet werden soll eine spezielle Formatvorlage (Style) anlegst.
Diese Formatvorlage weist du dann allen Zellen zu, deren Währung umgeschaltet werden soll.
Per Makro, dass auf die Eingabe des Landes (Schweiz oder EuroZone) in eine Zelle reagiert wird das NummerFormat der Formatvorlage geändert, wobei dann automatisch auch alle Zellen die mit dieser Formatvorlage formatiert sind angepasst werden.
Nachfolgend Makros um die Formatvorlage einmalig im aktiven Blatt anzulegen und die Makros zum Umschalten der Währung. Die Formatvorlage wird dabei so eingerichtet, dass nur das Zahlenformat geändert wird. Alle anderen Formate der Zelle bleiben unverändert.
Die Makros zum ändern der Währung muss du im VBA-Editor unter der Tabelle einfügen, in der in Zelle A1 Schweiz/EuroZone eingetragen wird.
Gruß
Franz

Sub FormatVorlageEUR_SFR_anlegen()
' Formatvorlage EUR_SFR erzeugen, Vorlage wirkt sich nur auf die Währungsdarstellung aus
' Alle anderen Zellformate bleiben erhalten
ActiveWorkbook.Styles.Add Name:="EUR_SFR"
With ActiveWorkbook.Styles("EUR_SFR")
.IncludeNumber = True
.IncludeFont = False
.IncludeAlignment = False
.IncludeBorder = False
.IncludePatterns = False
.IncludeProtection = False
End With
ActiveWorkbook.Styles("EUR_SFR").NumberFormat = "#,##0.00 €"
End Sub
'Makros zum Umschalten der Währung
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Select Case Target.Value
Case "EuroZone"
Call WaehrungUmschalten("EUR_SFR", "#,##0.00 €")
Case "Schweiz"
Call WaehrungUmschalten("EUR_SFR", "#,##0.00"" SFR""")
Case Else
'do nothing
End Select
End If
End Sub
Private Sub WaehrungUmschalten(NameFormatvorlage As String, Waehrungsformat As String)
ActiveWorkbook.Styles(NameFormatvorlage).NumberFormat = Waehrungsformat
End Sub


Anzeige
AW: Euro - SFR Format per Makro
10.09.2007 08:49:00
gio
Guten Tag,
ich möchte mich ganz herzlich bei allen die mir geholfen haben bedanken.
Ohne Eure Hilfe hätts nicht geklappt.
Vielen Dank
gio

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige