Anzeige
Archiv - Navigation
272to276
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
272to276
272to276
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Punkt ersetzen

Punkt ersetzen
26.06.2003 12:51:53
Dari
Hallo, Zusammen,

Mein Makro:

'Ersetzen des Punktes durch Komma
HFile = FreeFile
Open TptFile For Input As #HFile
Do Until EOF(HFile)
zaehler = zaehler + 1
ReDim Preserve feld(1 To zaehler)
Line Input #HFile, Text
feld(zaehler) = Application.Substitute(Text, ".", ",")
Loop
Close #HFile
HFile = FreeFile
Open TptFile For Output As #HFile
For index = 1 To UBound(feld)
Print #HFile, feld(index)
Next
Close #HFile

Funktioniert nicht, wie es soll, der Punkt wird nicht richtig ersetzt, beim darauffolgenden Überführen in Excel wird weiterhin falsch umgewandelt.
Habe 2 Tips bekommen, von denen ich nicht weiß, wie ich sie richtig codemäßig verwerten soll.

Erster Tipp:
Val(Text) übersetzt Strings in ordentliche Fließkommazahlen

Sub Makro1()
Dim Obj As Object, Text$
Text = "7.5683000000E+01"
MsgBox Val(Text)
End Sub

Vermutlich löst sich das Problem sogar von selbst, durch automatische typ-umwandlung, wenn du Feld() als double deklarierst, und einfach Text zuweist.

Zweiter Tipp:
Probier doch mal die Funktion CDbl()! Macht aus nem String nen Double.

Kann mir jemand helfen

Gruß
Dari


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Punkt ersetzen
26.06.2003 13:02:02
Wilfried

Warum nicht "Bearbeiten" suchen / ersetzen?

Re: Punkt ersetzen
26.06.2003 13:05:01
Dari

Hallo, Wilfrid,

es geht um eine Textdatei, die ich nach Excel überführe, d.h. dsa Makro spielt sich zu diesem Zeitpunkt noch auf der Textdateiebene ab, ich bin noch nicht in Excel.

Gruß

Re: Punkt ersetzen
26.06.2003 13:06:36
Dari

Das komplette Makro sieht so aus ...

Sub CreateXlsFile()

Dim XlsFile As Variant
Dim TptFile As Variant
Dim XlsName As String
Dim HFile As Integer, Text As String, feld() As String, zaehler As Long, index As Long

'Öffnen der Messdatei und Speichern als Exceldatei
TptFile = Application.GetOpenFilename("Messdateien (*.s01),*.s01,")
XlsName = Left(TptFile, Len(TptFile) - 4) + ".xls"
If TptFile = False Then Exit Sub

'Ersetzen des Punktes
HFile = FreeFile
Open TptFile For Input As #HFile
Do Until EOF(HFile)
zaehler = zaehler + 1
ReDim Preserve feld(1 To zaehler)
Line Input #HFile, Text
feld(zaehler) = Application.Substitute(Text, ",", ".")
Loop
Close #HFile
HFile = FreeFile
Open TptFile For Output As #HFile
For index = 1 To UBound(feld)
Print #HFile, feld(index)
Next
Close #HFile

'Überführen der Textdateidaten
Application.Workbooks.OpenText FileName:=TptFile, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 1))


Range("C1").Select

XlsFile = Application.GetSaveAsFilename(XlsName, "Exceldateien (*.xls),*.xls,")
ActiveWorkbook.SaveAs XlsFile, xlWorkbookNormal


Anzeige
tausche "." und "," , dann gehts...o.T.
26.06.2003 13:35:58
Panicman



Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige