DM in EUR umrechnen - Excel

Transcrição

DM in EUR umrechnen - Excel
excel-training.de
VBA
DM in EUR umrechnen
Sie wollen den Inhalt von Zellen Automatisch in Euro umwandeln und
gleichzeitig mit dem neuen Währungszeichen formatieren. Dazu
erzeugen sie nachfolgend beschriebenen Makro.
Richten sie die Optionen so ein das die Routine mit der Tastenkombination
S + H + e gestartet wird.
Wenn der Zelleninhalt bereits in EUR formatiert ist wird
über eine MsgBox eine Warnmeldung ausgegeben.
Dies ist der erforderliche Code:
Sub DM_in_Euro()
Dim DM As Currency, Euro As Currency
Dim enthalten As Boolean
Const Eur As Double = 1.95583
'
Nur Zellen mit Zahlen bearbeiten
Set Zelle = ActiveCell
If IsNumeric(Zelle) = False Then Exit Sub
If IsEmpty(Zelle) Or IsDate(Zelle) Then Exit Sub
' prüfen ob die Zelle bereits als Euro formatiert ist
If InStr(ActiveCell.NumberFormat, "€") Then
enthalten = True
ElseIf InStr(ActiveCell.NumberFormat, "EUR") Then
enthalten = True
Else
enthalten = False
End If
If enthalten Then
' diese Zelle ist bereits als Euro formatiert
' MsgBox "diese Zelle ist bereits mit Euro formatiert"
Exit Sub
Else
' DM in Euro umrechnen
On Error GoTo Fehler
' Zellen mit Formeln nicht umwandeln
If ActiveCell.HasFormula = False Then
DM = ActiveCell.Value
' Durch Format wird auch gekürzt
Euro = Format(DM / Eur, "#,##0.00")
ActiveCell.Value = Euro
End If
Call Format_Euro
End If
Exit Sub
Fehler:
Select Case Err
Case 13
MsgBox "Diese Zelle enthält keinen Zahlenwert"
Case Else
MsgBox "Fehler Nr. " & Err & " aufgetreten."
End Select
End Sub
 Edi Bauer, Zwiesel 18.08.01
http://www.excel-training.de
ExV_DMInEUR_Ue
excel-training.de
VBA
Sub Format_Euro()
With Selection
' Format €,
' Nullwerte werden nicht angezeigt
.NumberFormat = "0.00 €_ ;-0.00 €_ ;"
.Font.ColorIndex = 50
.Font.Bold = True
End With
End Sub
Markierter Bereich
Mit diesem Makro werden alle markierten Zellen auf einmal umgewandelt dazu ist es erforderlich,
dass Sie die Tastenkombination S + H + e auf dieses Makro legen und für die Routine
DM_in_Euro löschen.
Sub Alle_Zellen()
Dim Zelle As Range, az As Range
' jede markierte Zelle wird angesprungen
Set az = ActiveCell
For Each Zelle In Selection
Zelle.Select
Call DM_in_Euro
Next Zelle
az.Select
End Sub
 Edi Bauer, Zwiesel 18.08.01
http://www.excel-training.de
ExV_DMInEUR_Ue

Documentos relacionados