Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Replace von Komma durch Punkt

Replace von Komma durch Punkt
27.08.2004 11:09:00
Komma
Hallo Forum, ich habe hier etwas Quellcode der in Textfeldern ein Komma durch einen Punkt ersetzen soll:
Cells(i, ii).Select
Selection.Replace What:=",", Replacement:=".", MatchCase:=False
wert = Selection.Value
Dies ist nötig, da die Daten nachher in eine MySQL geschrieben werden. MySQL versteht aber wohl leider eine 12,7 nicht sondern nur 12.7. Das verrückte ist:
bei einigen Feldern funktioniert die Konvertierung, bei anderen nicht! Ich kann kein System darin erkennen. Da die Daten aus Excel nicht mehr verarbeitet werden müssen, hatte ich sie in Textfelder konvertiert und das ganze als String betrachtet, aber kein Erfolg.
Wie kann ich das vielleicht anders machen? Ein Mysql dump geht nicht, da die Daten vor dem Insert aufbereitet werden. Ich lasse in der Schleife jedes Feld gezielt über SQL Insert in die Mysql laufen.
Thx im voraus JanBro

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Replace von Komma durch Punkt
Komma
hi JanBro :)
zwei varianten :)
erste arbeitet die ganze tabelle ab
zweite arbeitet eine vorausgesetzte markierung ab
die beiden makros sind nicht so optimal gestaltet ,da schon ein wenig aelter sind :))
gruss nighty

Sub makro01()
With Worksheet
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
For t% = 1 To lspalte
For t1% = 1 To lzeile
laenge% = Len(Cells(t1%, t%))
Cells(t1%, t%).Select
For t2% = 1 To laenge%
If t2% = 1 Then
Cells(t1%, t%).Select
Selection.NumberFormat = "@"
End If
If Mid$(Cells(t1%, t%), t2%, 1) = "," Then
lager$ = Mid$(Cells(t1%, t%), 1, t2% - 1) & "." & Mid$(Cells(t1%, t%), t2% + 1, laenge%)
aa = 1
Cells(t1%, t%) = lager$
End If
If Mid$(Cells(t1%, t%), t2%, 1) = "." And aa = 0 Then
lager$ = Mid$(Cells(t1%, t%), 1, t2% - 1) & "," & Mid$(Cells(t1%, t%), t2% + 1, laenge%)
Cells(t1%, t%) = lager$
End If
aa = 0
If t2% = laenge% Then
Cells(t1%, t%).Select
Selection.NumberFormat = "0.00"
End If
Next t2%
Next t1%
Next t%
End With
End Sub


Sub makro02()
With Worksheet
For t% = Selection.Column To Selection.Column + Selection.Columns.Count - 1
For t1% = Selection.Row To Selection.Row + Selection.Rows.Count - 1
laenge% = Len(Cells(t1%, t%))
For t2% = 1 To laenge%
Cells(t1%, t%).Select
Selection.NumberFormat = "@"
If Mid$(Cells(t1%, t%), t2%, 1) = "," Then
lager$ = Mid$(Cells(t1%, t%), 1, t2% - 1) & "." & Mid$(Cells(t1%, t%), t2% + 1, laenge%)
aa = 1
Cells(t1%, t%) = lager$
End If
If Mid$(Cells(t1%, t%), t2%, 1) = "." And aa = 0 Then
lager$ = Mid$(Cells(t1%, t%), 1, t2% - 1) & "," & Mid$(Cells(t1%, t%), t2% + 1, laenge%)
Cells(t1%, t%) = lager$
End If
aa = 0
Cells(t1%, t%).Select
Selection.NumberFormat = "0.00"
Next t2%
Next t1%
Next t%
End With
End Sub

Anzeige
AW: Replace von Komma durch Punkt
Komma
Danke für die Hilfe, ich habe mir die Befehlssätze herausgepickt die ich brauchte nun funktioniert alles. Danke
hier nun der neue code
If Cells(3, ii).Value = 3 Then
zeichenketteLaenge = Len(wert)
neuwert = ""

For iii = 1 To zeichenketteLaenge
bau = Mid(wert, iii, 1)
If bau = "," Then
neuwert = neuwert & "."
Else
neuwert = neuwert & bau
End If

Next iii
wert = neuwert

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige