Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

abschließende Leerzeile in Textdatei entfernen

Forumthread: abschließende Leerzeile in Textdatei entfernen

abschließende Leerzeile in Textdatei entfernen
mario.kirchmauer@gmail.com
Hallo,
ich stehe vor einem Problem und hoffe hier Hilfe zu finden:
Ich speicher ein Tabellenblatt als Textdatei und diese Textdatei enthält IMMER eine ungewollte Leerzeile am Ende.
Wie schaffe ich es, dass die Textdatei ohne diese Leerzeile gespeichert wird.
Zur Veranschaulichung hier mein Code:
  speichern_unter = ordner & "\" & wks.Name & "_" & dat_name
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets(wks.Name).Copy
ActiveWorkbook.SaveAs Filename:=speichern_unter, FileFormat:=xlText
wks.UsedRange.Rows.Count liefert mir IMMER das gewünschte Ergebnis:
z.B. ich habe eine Überschrift + 3 Zeilen mit Inhalt --> Ergebnis = 4 --> OK
Die Textdatei enthält dann aber trotzdem 5 Zeilen (1x Überschrift + 3x Inhalt + 1x Leerzeile).
Bin echt schon am verzweifeln :-(
Vielen Dank im Voraus für eure Antworten!
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Warum nur speicherst du die ganze Datei...
15.04.2011 20:06:16
Luc:-?
…als .txt, Mario?
Wenn du sie als .csv exportieren würdest, hättest du das Problem höchstwahrscheinl nicht, denn das wird mit irgendeiner unbeeinflussbaren Xl-Konversionsautomatik zusammenhängen.
Andererseits kannst du natürlich auch genau diesen Zellbereich in die Zwischenablage schreiben und die dann als .txt ausgeben (sollte irgendwie gehen) oder gleich eine Textdatei aus Xl-VBA heraus mit CreateObject erzeugen.
Gruß + schöWE, Luc :-?
Anzeige
AW: Warum nur speicherst du die ganze Datei...
15.04.2011 21:30:28
mario.kirchmauer@gmail.com
Ich speicher die Tabellen als .txt, weil SAP das so will :-(
Werden dann direkt in Z-Tables in SAP geschrieben.
Werd´ dann mal deine beiden Vorschläge ausprobieren!
Danke schon mal für die Tipps!
Bitte sehr! Es waren 3 Vorschläge! ;-) owT
15.04.2011 21:38:37
Luc:-?
:-?
4. Vorschlag
15.04.2011 22:54:23
MichaV
..wenn die ersten 3 nicht helfen: Excel erzeugt (bei mir) beim Speichern als Textdatei 3 Zeichen am Ende, Chr(13), Chr(0) und Chr(10). Wenn Du diese Zeichen löschst, ist die Leerzeile am Ende weg.
Wenn Dein Excel andere Zeichen erzeugt (abhängig von Version/ System) dann musst Du die 3 in der Left- Funktion anpassen.
Option Explicit
Sub test()
Dim x As String
Open "c:\test.txt" For Binary As #1
Open "c:\tmp.txt" For Binary As #2
x = Space(LOF(1))
Get #1, , x
x = Left(x, Len(x) - 3)
Put #2, , x
Close
FileCopy "c:\tmp.txt", "c:\test.txt"
Kill "c:\tmp.txt"
End Sub

Gruss- Micha
Anzeige
AW: 4. Vorschlag
18.04.2011 12:33:21
mario.kirchmauer@gmail.com
@MichaV: Der Umweg über das Temp File und dem Löschen des erzeugten Zeilenumbruchs funktioniert bestens! Danke!
@Luc:-?
Es waren nur 2 Vorschläge, die für mich von Relevanz waren, da ich mit einem .csv leider nichts anfangen kann - aber du hast natürlich recht, es war ein Vorschlag ;-)
Der Vorschlag von MichaV funktioniert zwar blendend, aber ich werde CreateObject auf jeden Fall auch noch ausprobieren, da es doch irgendwie eleganter ist.
Geb´ dann Bescheid, ob es so funktioniert wie ich es mir vorstelle!
Großes Dankeschön nochmal an euch zwei!
Anzeige
OK! Bin dann mal weg, FrOst! owT
19.04.2011 15:02:44
Luc:-?
:-?
Danke, Dir auch! owT
19.04.2011 15:09:00
MichaV
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18