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

Zeilenumbruch in Textdatei

Zeilenumbruch in Textdatei
22.02.2008 17:12:00
SteffenS
Hallo Zusammen,
ich erzeuge mit Excel eine Textdatei. Nun habe ich das Problem dass wenn ich die Textdatei öffne zwischen jeder Zeile eine Leerzeile eingefügt wird.
Schaue ich mir die Datei im Editor an so sind keine Leerzeilen drin.
Wie kommt so etwas?
Danke schonmal
Steffen Schmerler
Hier mein Code zum nachvollziehen
Dim ADMALLG, WMenu, WSPDat As Worksheet
Set WMenu = Workbooks(ThisWorkbook.Name).Sheets("Leer")
Set ADM = Workbooks(admin_datei).Sheets("bt_admin")
Set ADMALLG = Workbooks(ThisWorkbook.Name).Sheets("adm_einst")
Set WSPDat = Workbooks(plausi_dat).Sheets("pls_1")
Dim last_cell As Long
last_cell = WSPDat.Cells(Rows.Count, 1).End(xlUp).Row - 3
Dim EDatei, Trennzeichen, EKons, PLS_G, PLS_U As String
EDatei = ADMALLG.Range("O241").Value
Trennzeichen = ";"
Dim leitzeile As Long
leitzeile = 0
Dim D As Integer
D = FreeFile
Dim datwert As String
Open EDatei For Append As #D 'Append zum Anhängen der Dateien
'Allgemeine Daten einsetzen
For i = 12 To last_cell
If WSPDat.Cells(i, 5).Value <> "" And WSPDat.Cells(i, 8).Value = Marke Then
'Abfrage Leitzeile
If IsNumeric(WSPDat.Cells(i, 255).Value) = True And WSPDat.Cells(i, 255).Value > 0 Then
leitzeile = WSPDat.Cells(i, 255).Value
strTemp = leitzeile & Trennzeichen
Else
strTemp = i & Trennzeichen
End If
For j = 4 To 20
datwert = Replace(WSPDat.Cells(i, j).Value, Chr(10), " ")
strTemp = strTemp & datwert & Trennzeichen
Next j
Print #D, strTemp
strTemp = ""
End If
Next i
Close #D

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch in Textdatei
22.02.2008 17:57:36
Erich
Hallo Steffen,
zunächst zwei Tipps:
"Option Explicit" ist fast immer zu empfehlen, siehe http://www.online-excel.de/excel/singsel_vba.php?f=4
Wenn du
Dim a, b as integer schreibst, ist a KEIN Integer, sondern Variant. Du musst schreiben:
Dim a as integer, b as integer
In den folgenden Code habe ich oben einige Zeilen mit "Const ..." geschrieben.
Ich vermute, diese Variablen werden bei dir an anderer Stelle (evtl. global) deklariert
und mit einem Wert belegt. Dann kannst du diese Zeilen löschen.

Option Explicit  ' (fast) immer zu empfehlen
Sub aaa()
Dim ADMALLG As Worksheet, WMenu As Worksheet, WSPDat As Worksheet
Dim last_cell As Long
Dim EDatei As String, Trennzeichen As String, EKons As String
Dim PLS_G As String, PLS_U As String
'   Dim leitzeile As Long
Dim datwert As String
Dim D As Integer
Dim ADM As Worksheet
Dim i As Long, j As Integer
Dim strTemp As String
Const admin_datei As String = "adm.xls"   ' global ?
Const plausi_dat As String = "plaus.xls"  ' global ?
Const marke As String = "MARK"            ' global ?
Set WMenu = Workbooks(ThisWorkbook.Name).Sheets("Leer")
Set ADM = Workbooks(admin_datei).Sheets("bt_admin")
Set ADMALLG = Workbooks(ThisWorkbook.Name).Sheets("adm_einst")
Set WSPDat = Workbooks(plausi_dat).Sheets("pls_1")
last_cell = WSPDat.Cells(Rows.Count, 1).End(xlUp).Row - 3
EDatei = ADMALLG.Range("O241").Value
Trennzeichen = ";"
'   leitzeile = 0
D = FreeFile
Open EDatei For Append As #D 'Append zum Anhängen der Dateien
'Allgemeine Daten einsetzen
With WSPDat
For i = 12 To last_cell
If .Cells(i, 5).Value  "" And .Cells(i, 8).Value = marke Then
'Abfrage Leitzeile
If IsNumeric(.Cells(i, 255)) And .Cells(i, 255) > 0 Then
strTemp = .Cells(i, 255) & Trennzeichen
Else
strTemp = i & Trennzeichen
End If
For j = 4 To 20
datwert = Replace(.Cells(i, j).Value, vbCrLf, " ") ' chr(13) & chr(10)
datwert = Replace(datwert, vbCr, " ")  ' chr(13)
datwert = Replace(datwert, vbLf, " ")  ' chr(10)
strTemp = strTemp & datwert & Trennzeichen
Next j
Print #D, strTemp
strTemp = ""
End If
Next i
End With
Close #D
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige