Die Excel Wühlkiste

Währungsumrechnung mit VBA

Dieses Makro rechnet Währungs-Beträge in einem selktierten Bereich in eine neue Währung um. Anschließend wird der Bereich gelb markiert, damit nicht versehentlich zwei mal umgerechnet wird. Gleichzeitig wird der markierte Bereich wieder auf eine Zelle verkleinert und auf die Zelle unterhalb der ursprünglichen Markierung verschoben.
Auf ein Formatieren der Dezimalstellen habe ich hier bewusst verzichtet, weil dieses Makro ohnehin in bereits fertig formatierten Tabellen eingesetzt wird.

Sub Waehrungsumstellung()

' Version: 1.3
' Datum: 31.05.2001
' Die Version 1.1 überprüft- im Gegensatz zur
' Version 1.0- anhand der gelben Hintergrundfarbe, ob die Zellen
' bereits umgerechnet wurden. In diesem Falle spart das Makro
' diese Zellen einfach aus und führt die Berechnung nur in den
' nicht-gelben Zellen durch.
' Version 1.2: hier ist die noch fehlende Rundung auf 2 Stellen
' dazugekommen.
' Version 1.3: enthält zusätzlich eine kleine Fehlerbehandlung,
' weil zusammengesetzte markierte Bereiche wegen des
' Resize-Befehls sonst immer zu Fehlermeldungen führen


Dim Zelle As Range
Dim Ausgangswaehrung As Double
Dim Zielwaehrung As Double
Dim ZeilenAnzahl As Integer
Dim Bereich As String

Bereich = Selection.Address
ZeilenAnzahl = Selection.Rows.Count

On Error GoTo Ausstieg_wegen_Fehler  'zusammengesetzte
' Bereiche wurden sonst dauernd zu einer Fehlermeldung
' führern


For Each Zelle In Selection
If Zelle.Interior.ColorIndex <> 27 Then
Ausgangswaehrung = Zelle.Value
Zielwaehrung = Application.WorksheetFunction.Round _
(Ausgangswaehrung / 1.95583, 2)  'Divisor für DM nach Euro
Zelle.Value = Zielwaehrung
Zelle.Interior.ColorIndex = 27
End If
Next Zelle

Range(Bereich).Resize(1, 1).Select
Selection.Offset(ZeilenAnzahl, 0).Select

Ausstieg_wegen_Fehler:
End Sub
Die Excel Wühlkiste
Valid HTML 4.01 Strict
letzte Aktualisierung: 13.02.2009
Autor: Hubert Scheidgen / 04.02.2009
W3C CSS-Validierungsservice