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