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

Makroproblem !

Makroproblem !
02.07.2003 13:39:46
Dari
Hallo,
ich glaub ich kotz gleich ein Fahrrad. Mit Blut, Schweiß und Tränen hab ich ein Makro zusammengebastelt, dass den Inhalt einer Textdatei in Excel überführt und dabei in der Textdatei den Punkt durch ein Komma ersetzt, so das die Zahlen korrekt rüberkommen.
Beim mehrmaligen Anwenden des Makros habe ich nun festegestellt, dass durch irgendeinen, seltsamen Grund der Inhalt der Textdatei dupliziert (verdoppelt) wird. Beim mehrmaligen benutzen findet so eine gigantische Daten-Vervielfältigung statt.
Ich glaube dass muss mit dem Code "'Ersetzen des Punktes durch Komma" zu tun haben, weil vorher hatte ich dieses Problem nicht.
Ich habe keine Ahnung, was der Grund für dieses Vervielfältigen ist ...

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 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
'Ü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))
End Sub

Gruß
Dari

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

Betreff
Datum
Anwender
Anzeige
AW: Makroproblem !
02.07.2003 16:02:43
Megatron (Jens)
Hallo Dari,
auch wenn ich Walter in dem anderen Posting recht geben muss, habe ich hier mal einen vollkommen anderen Vorschlag das mit dem Komma zu lösen:
http://schwimmer.bei.t-online.de/vba.htm
unter dem Punkt "Ländereinstellungen"
Den Tip habe ich selbst vor einigen Tagen von RAnton bekommen. Mir hat das sehr weitergeholfen.
Der Grund für die Vervielfältigung könnte eventuell darin begründet sein, dass Excel den Speicher nicht richtig aufräumt. Ganz offensichtlich "schiebt" es nur den String weiter. Dabei kann aber der Verweis auf den Endstring schon mal falsch erzeugt werden, womit auch das vorhergehende Datenpaket ausgelesen wird (dies wäre eine Möglichkeit, die ich selbst schon beobachtet habe).
Viel Spass beim Basteln!
Gruß
Jens

Anzeige
AW: Makroproblem !
02.07.2003 14:50:32
Andreas Walter
Ohne es näher angeschaut zu haben - kann es sein, dass zaehler auf Null gesetzt werden soll?
Open TptFile For Input As #HFile
******************************************************** zaehler=0
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
Du solltest Dich mit dem Debug Modus auseinander setzen
Oder zumindest mit MSGBOX arbeiten
Dann wirst Du schnell dahinter kommen

Anzeige
AW: Makroproblem !
02.07.2003 14:27:17
Christian Hoens
Hallo, Dari!
das kann ich bei mir nicht nachvollziehen. was meinst du mit dupliziert?
sind bei dir die zeilen jeweils doppelt oder die die ganze datei doppelt?
das scheint bei mir zu laufen, aber der ansatz ist´n bisschen umständlich.
ich vermute mal, daß dein problem darin liegt, daß die ganze datei erst ins
ram einliest und dann separat ausgibst. könnte sein, daß dein "feld" nicht
sauber initialisiert wird.
es wäre doch einfacher, wenn du zum umwandeln nur _eine_ schleife machst,
die die zeilen aus einer datei liest und in eine andere ausgibt.
du könntest die werte auch gleich in dieser schleife in eine excel-tabelle
einfügen...
gruß christian hoens

Anzeige
AW: Makroproblem !
02.07.2003 14:45:30
Dari !
Hallo, Christian,
duplizieren heißt, dass eine Textdatei mit 1322 Zeilen, plötzlich doppelt da ist. Ich hab den Punkt ersetzen Code auch nur bekommen und Blick ehrlich gesagt gar nicht so gut durch.
Hast Du einen alternativen Code, den ich mal ausprobieren könnte ???
Gruß
Dari !

AW: Makroproblem !
02.07.2003 14:45:24
Dari !
Hallo, Christian,
duplizieren heißt, dass eine Textdatei mit 1322 Zeilen, plötzlich doppelt da ist. Ich hab den Punkt ersetzen Code auch nur bekommen und Blick ehrlich gesagt gar nicht so gut durch.
Hast Du einen alternativen Code, den ich mal ausprobieren könnte ???
Gruß
Dari !

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige