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

UK Zahlen umwandeln

UK Zahlen umwandeln
20.06.2007 17:16:24
Wetzel
Hallo Leute,
folgendes Problem:
Ich möchte Zahlen im UK-Format in deutsches Format umwandeln.
Die Zahlen stehen in einer Spalte untereinander (teilweise sind auch leere Einträge in der Spalte).
Am Besten wäre eine Automatisierung der Umwandlung unterhalb einer markierten Zelle.
Bsp.: UK Format: 3,978.21 -> dt. Format: 3978,21
Für die Umwandlung habe ich ein Makro gefunden, allerdings nur für eine einzelne Zelle:

Sub UKZahlenumwandler()
zahl = Range("B1")
Do
On Error GoTo weiter
i = WorksheetFunction.Find(",", zahl)
zahl = WorksheetFunction.Replace(zahl, WorksheetFunction.Find(",", zahl), 1, "")
Loop Until i = 0
weiter:
On Error GoTo ende
i = WorksheetFunction.Find(".", zahl)
zahl = WorksheetFunction.Replace(zahl, WorksheetFunction.Find(".", zahl), 1, ",")
i = 1
ende:
Range("B1").NumberFormat = "#,##0.00"
Range("B1") = zahl * 1
End Sub


Ich habe das Makro verändert aber es funktioniert leider nicht richtig.
Kann mir da jemand helfen?
Sonnige Grüße,
Stephan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UK Zahlen umwandeln
20.06.2007 18:01:13
Wetzel
Hier das veränderte Makro:

Sub UKZahlenumwandler2()
Dim zl, l As Long
Dim i As Integer
zl = ActiveSheet.UsedRange.Rows.Count
For l = 1 To zl
If Len(ActiveCell.Value) = 0 Then
ActiveCell.Offset(1, 0).Activate
Else
i = Empty
End If
i = Empty
zahl = Selection
Do
On Error GoTo weiter
i = WorksheetFunction.Find(",", zahl)
zahl = WorksheetFunction.Replace(zahl, WorksheetFunction.Find(",", zahl), 1, "")
Loop Until i = 0
weiter:
On Error GoTo ende
i = WorksheetFunction.Find(".", zahl)
zahl = WorksheetFunction.Replace(zahl, WorksheetFunction.Find(".", zahl), 1, ",")
i = 1
ende:
Selection.NumberFormat = "#,##0.00"
Selection = zahl * 1
ActiveCell.Offset(1, 0).Activate
Next l
End Sub


Die erste Zahl wird richtig umgewandelt, aber bei der 2. Zahl erscheint die Fehlermeldung:
Die Find Eigenschaft des Worksheet


Function Objektes kann nicht zugeordnet werden...
Weiss jemand Rat?

Anzeige
AW: UK Zahlen umwandeln
20.06.2007 18:16:00
Peter
Hallo Stephan,
angenommen, deine englischen Zahlen stehen in Spalte A ab Zeile 1, dann so:

Sub UKZahlenumwandler_2()
Dim lZeile  As Long
For lZeile = 1 To Range("A65536").End(xlUp).Row
If Not Range("A" & lZeile).Value = "" Then
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, ",", "#")
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, ".", ",")
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, "#", ".")
Range("B" & lZeile).NumberFormat = "#,##0.00"
Range("B" & lZeile).Value = Range("A" & lZeile).Value * 1
End If
Next lZeile
End Sub


Gruß Peter

Anzeige
AW: UK Zahlen umwandeln
20.06.2007 18:35:04
Wetzel
Danke,
noch besser wäre es wenn die Zahlen nicht neben die bestehende Zahl geschrieben werden sondern einfach die existierende überschreiben.
Viele Grüße
Stephan

AW: UK Zahlen umwandeln
20.06.2007 20:26:08
Peter
Hallo Stephan,
dann eben ganz einfach so:

Sub UKZahlenumwandler_2()
Dim lZeile  As Long
For lZeile = 1 To Range("A65536").End(xlUp).Row
If Not Range("A" & lZeile).Value = "" Then
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, ",", "#")
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, ".", ",")
Range("A" & lZeile).Value = Replace(Range("A" & lZeile).Value, "#", ".")
Range("A" & lZeile).NumberFormat = "#,##0.00"
Range("A" & lZeile).Value = Range("A" & lZeile).Value * 1
End If
Next lZeile
End Sub


Gruß Peter

Anzeige
AW: UK Zahlen umwandeln
21.06.2007 10:22:28
Wetzel
Danke,
klappt hervorragend.
Grüße
Stephan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige