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

Countmakro

Countmakro
20.06.2003 14:28:09
Dari

Irgendwie haut mein Makro nicht hin. Das Problem ist, dass in der Textdatei die Zahlen durch einen Punkt statt durch Komma getrennt werden. Nun habe ich einen Code bekommen (siehe unten unter Ersetzen des Punktes), der wenn ich es richtig verstehe den Punkt ersetzt. Leider gelingt mir die Integration in mein Ursprungsprogramm nicht. Ich habe langsam auch den Verdacht, dass sich dies möglichweise gar nicht integrieren läßt, oder irre ich mich da ???

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 "C:\Dokumente und Einstellungen\Administrator\Desktop\Text.txt" For Input As #HFile
Do Until EOF(HFile)
zaehler = zaehler + 1
ReDim Preserve feld(1 To zaehler)
Line Input #HFile, Text
feld(zaehler) = Replace(Text, ".", ",", 1, 1, 1)
Loop
Close #HFile
HFile = FreeFile
Open "C:\Dokumente und Einstellungen\Administrator\Desktop\Text.txt" 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))

Gruß
Dari

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

Betreff
Datum
Anwender
Anzeige
Re: Countmakro
20.06.2003 14:37:20
EL

Hallo Dari!
Versuchen Folgendes:

Dim exportfile$, TB As Worksheet, z%, TMP$
exportfile = "C:\temp\Test.csv"
Dateinummer = FreeFile
Set TB = ThisWorkbook.Worksheets(1)
'Die folgende Zeile erzeugt eine neue Datei mit dem angegebenen Namen
'im angegebenen Pfad
Open exportfile For Output As #Dateinummer
'Die beiden Schleifen beziehen alle belegten Zellen in die zu erstellende Textdateiein
For z = 1 To TB.UsedRange.Rows.Count
For s = 1 To TB.UsedRange.Columns.Count
'Das Semikolon ist durch jedes beliebige Feldtrennzeichen ersetzbar
TMP = TMP & CStr(TB.Cells(z, s).Text) & ";"
Next s
'Damit am Ende jeder Zeile, also nach der letzten Zelle kein Strichpunkt mehr gesetztwird,
'muss das letzte Zeichen wieder abgezogen werden
TMP = Left(TMP, Len(TMP) - 1)
'Print fügt hier immer eine Zeile zur bestehenden Textdatei hinzu
Print #Dateinummer, TMP
'Die Variable TMP muss vor der Aufnahme der nächsten Zeile wieder geleert werden
TMP = ""
Next z
Close #Dateinummer
TMP = 0
Application.DisplayAlerts = False: ActiveWorkbook.Close

so kännen Sie trennzeichen selbst definieren!
Gruß
EL

Anzeige
Re: Countmakro
20.06.2003 15:46:29
Nepumuk

Hallo Dari,
in die beiden Open-Anweisungen kommt natürlich dein Dateinamen.

Open TptFile For Input As #HFile

Open TptFile For Output As #HFile

Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige