![]() |
||
![]() |
Euro-Konverter fⁿr ArbeitsblΣtter benutzenSie arbeiten in Excel derzeit noch mit zahlreichen ArbeitsblΣttern, die DM-Formatierungen enthalten. Nun suchen Sie eine M÷glichkeit, die Umstellung auf den Euro rasch und m÷glichst automatisch zu erledigen. Neben den Zahlenformaten mⁿssen Sie gleichzeitig auch die Werte korrekt umrechnen. Mit einem VBA-Makro k÷nnen Sie diese Aufgabe zum gr÷▀ten Teil automatisch durchfⁿhren. ╓ffnen Sie eine leere Arbeitsmappe in Excel und fⁿhren Sie den Befehl ╗Extras | Makro | Makros½ aus. Geben Sie einen Namen fⁿr das Makro ein, zum Beispiel ╗euro_convert½, und klicken Sie auf die SchaltflΣche ╗Erstellen½. Im VBA-Editor geben Sie die folgenden Makrozeilen ein oder Sie kopieren das Makro von der Heft-CD unter CHIP-Code EURO: Sub euro_convert() Dim mBer, mObj As Range ActiveSheet.Range( A1 ).Select Set mBer = Range(Cells(1, 1), Cells.SpecialCells(xlCellTypeLastCell)) For Each mObj In mBer If Not IsEmpty(mObj) Then If IsNumeric(mObj.Value) Then If (mObj.Style = "Currency" ) Or (InStr(mObj.NumberFormat Local, "DM") > 0) Then form = mObj.NumberFormatLocal n = InStr(form, "DM") If n > 0 Then mObj.NumberFormatLocal= Left(form, n - 1) + "€" + Right(form, Len(form) - n - 1) If mObj.HasFormula = False Then mObj.Value = mObj.Value / 1.95583 End If form = mObj.NumberFormatLocal n = InStr(form, "DM") If n > 0 Then mObj.NumberFormatLocal= Left(form, n - 1) + "€" + Right(form, Len(form) - n - 1) End If If mObj.Style = "Currency" Then mObj.Number FormatLocal = "#.##0,00 €" End If End If End If Next End Sub Nach der Definition der n÷tigen Variablen ermittelt das Makro zunΣchst den genutzten Bereich auf dem Arbeitsblatt und weist ihn der Variablen ╗mBer½ zu. Nun durchlΣuft es mit einer Schleife alle Zellen in diesem Bereich. Mit mehreren Bedingungen prⁿft es nacheinander, ob die jeweilige Zelle einen Wert enthΣlt und ob dieser numerisch ist. Der nΣchste Befehl testet, ob der Zelle entweder eine Formatvorlage mit einem WΣhrungsformat zugewiesen ist oder ob das Zahlenformat der Zelle eine DM-Formatierung enthΣlt. Bei diesem Vergleich mⁿssen Sie unbedingt die Eigenschaft ╗NumberFormatLocal½ verwenden, weil Sie sonst bei der Eigenschaft ╗NumberFormat½ eine allgemeine Dollar-Formatierung erhalten. Erst durch die LΣndereinstellungen Ihres Systems wird die Anzeige in DM realisiert. Jetzt sucht das Makro die Position, an der das Zahlenformat eine DM-Formatierung enthΣlt und ersetzt ╗DM½ durch ╗€½. Falls die Zelle keine Formel enthΣlt, wird der enthaltene numerische Wert mit dem offiziellen Umrechnungskurs von 1,95583 DM fⁿr einen Euro umgerechnet. Anschlie▀end erfolgt eine weitere Prⁿfung des Zahlenformats nach vorhandenen DM-Formatierungen. Bei Bedarf Σndert das Makro diese Formatierungen auf Euro. Dadurch werden auch solche Zahlenformate korrekt umgestellt, die unterschiedliche Darstellungen fⁿr positive und negative Werte verwenden. Falls die betroffene Zelle mit einer Formatvorlage versehen ist, erhΣlt sie eine ganz normale Euro-Formatierung. Als nΣchstes beenden Sie den VBA-Editor und speichern die Excel-Arbeitsmappe. Jetzt k÷nnen Sie zusΣtzlich eine weitere Arbeitsmappe ÷ffnen, in der Sie ebenfalls einzelne Tabellen auf den Euro umstellen m÷chten. Wenn beide Arbeitsmappen ge÷ffnet sind, haben Sie in beiden gleichzeitig Zugriff auf das neue Makro. Auf diese Weise sparen Sie Zeit und mⁿssen das Makro nicht unn÷tig in alle Arbeitsmappen kopieren. Wenn Sie Formeln verwenden, die mit Bezⁿgen auf andere Tabellen oder externe Dateien arbeiten, mⁿssen Sie zuerst diese anderen ArbeitsblΣtter mit dem Makro konvertieren. Bei der Arbeit mit benutzerdefinierten Formaten sollten Sie prⁿfen, ob das Makro alle Formate richtig umstellen kann. Falls Sie in den ArbeitsblΣttern mit verschiedenen WΣhrungen arbeiten, mⁿssen Sie das Makro entsprechend erweitern. |
![]() |