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

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 18: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 19: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 19:38:37
Luc:-?
:-?
4. Vorschlag
15.04.2011 20: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 10: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 13:02:44
Luc:-?
:-?
Danke, Dir auch! owT
19.04.2011 13:09:00
MichaV
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige