Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
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
Inhaltsverzeichnis

xls als txt abspeichern | Herbers Excel-Forum

xls als txt abspeichern
26.01.2010 07:17:01
Michael

Guten Morgen,
ich habe folgendes Problem: Ich muss eine xls-Datei im txt-Format abspeichern, dabei ist folgendes zu beachten: Es muss der Bereich von A4 bis G220 ausgegeben werden (es soll in der txt. datei genau so angeordnet sein wie in der xls-datei), dabei muss beim abspeichern gleich ein Namens-Vorschlag kommen (dieser Vorschlag steht in A1) z.B. Januar2010.
Ich hoffe Ihr habt das Problem verstanden, ich habe wirklich keine Ahnung wie ich das realisieren soll.
Ich danke euch für jede Antwort. Vielen Dank schon mal im voraus.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xls als txt abspeichern
26.01.2010 08:04:39
welga
Hallo Michael,
versuche mal folgendes:
Sub test()
Dim a As String
Dim speicherpfad As String
Dim i As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
a = ThisWorkbook.Sheets(1).Cells(1, 1).Text
speicherpfad = InputBox("Geben Sie den Ordner an, der durchsucht werden soll.", "Pfad  _
definieren", "C:\Dokumente und Einstellungen\Administrator\Desktop\test")
If speicherpfad = "" Then Exit Sub
Sheets(1).Select
Sheets(1).Copy
Rows("1:3").Select
Selection.Delete Shift:=xlUp
For i = ActiveSheet.UsedRange.Rows.Count To 221 Step -1
Rows(i).Select
Selection.Delete Shift:=xlUp
Next i
ActiveWorkbook.SaveAs Filename:=speicherpfad & "\" & a & ".txt", FileFormat:= _
xlText, CreateBackup:=False
ActiveWindow.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Anzeige
AW: xls als txt abspeichern
26.01.2010 08:05:27
Michael
Meine Excel-Datei sieht wie folgt aus.
Userbild
Die Ausgabe in der txt-Datei, soll wie folgt aussehen.(soll immer mit einem Tab getrennt werden)
Userbild
Ich hoffe mir kann jemand weiterhelfen.
AW: xls als txt abspeichern
26.01.2010 09:37:00
Tino
Hallo,
kopiere die Datei als neue Arbeitsmappe und speichere diese unter als
Datentyp: Text (Tabstopp-getrennt) (*.txt).
Möchtest Du dies als Makro, lass den Rekorde dabei mal mitlaufen.
Gruß Tino
Anzeige
AW: xls als txt abspeichern
26.01.2010 09:50:49
Michael
Danke für die schnelle Antwort.
Wie meinst des mit dem Rekorde mitlaufen lassen?
den Makrorekorder, noch nie gehört? oT.
26.01.2010 09:58:25
Tino
AW: den Makrorekorder, noch nie gehört? oT.
26.01.2010 10:05:29
Michael
Ja natürlich, aber meine Frage bezieht sich darauf, ob es eine Schleife gibt die bei K220 automatisch endet?
AW: den Makrorekorder, noch nie gehört? oT.
26.01.2010 10:10:28
Tino
Hallo,
kopieren den Bereich einfach in eine Neue Datei, speichern unter schließen fertig, keine Schleife.
Gruß Tino
AW: den Makrorekorder, noch nie gehört? oT.
26.01.2010 10:52:31
Michael
Ja das war mir auch klar, dass ich es mit speichern unter machen könnte. Jedoch benötige ich ein Makro!
AW: den Makrorekorder, noch nie gehört? oT.
26.01.2010 11:08:39
Tino
Hallo,
der Makrorekorder spuckt bei mir dies aus.
 Sheets("Tabelle1").Select
Rows("1:220").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="G:\1 Forum\Mappe2.txt", FileFormat:=xlText, CreateBackup:= _
False
ActiveWindow.Close
Den Code kann man von Hand etwas anpassen.
Sub Makro1()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sheets("Tabelle1").Rows("1:220").Copy
Workbooks.Add 1
ActiveSheet.Paste
Application.CutCopyMode = False
'Hier noch Deinen Pfad anpassen ***************************************************
ActiveWorkbook.SaveAs Filename:="D:\Ordner\MeinTextFile.txt", FileFormat:=xlText,  _
CreateBackup:=False
ActiveWindow.Close False
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
Gruß Tino
Anzeige
AW: den Makrorekorder, noch nie gehört? oT.
27.01.2010 13:33:16
Michael
Vielen Dank für eure schnelle Antwort.
Funktioniert einwandfrei.
Gruß Michael
AW: xls als txt abspeichern
26.01.2010 09:54:14
Rudi Maintaire
Hallo,
in ein Modul:
Public Sub prcCreateTXT()
Dim intFileNumber As Integer
Dim lngRow As Long
Dim vntArray As Variant
Dim strText As String
Dim i As Integer
Dim sFile
Const strPre As String = vbTab
Reset
sFile = Application.GetSaveAsFilename(Range("a1"), "Textdateien (*.txt), *.txt")
If sFile <> CStr(False) Then
intFileNumber = FreeFile
Open sFile For Output As #intFileNumber
With ActiveSheet.UsedRange
For lngRow = 1 To .Row + .Rows.Count - 1
vntArray = Range(Cells(lngRow, 1), _
Cells(lngRow, .Column + .Columns.Count - 1))
vntArray = WorksheetFunction.Transpose(WorksheetFunction.Transpose(vntArray))
strText = Join(vntArray, strPre)
Print #intFileNumber, strText
Next
End With
Close #intFileNumber
End If
End Sub

Gruß
Rudi
Anzeige
AW: xls als txt abspeichern
26.01.2010 10:03:38
Michael
Hallo Rudi,
vielen Dank für die schnelle Antwort. Hab da aber noch ein Problem!
Kann man irgendwie einstellen, dass díe Schleife bei K220 endet?
Und dass das alles voll automatisch durchläuft?
AW: xls als txt abspeichern
26.01.2010 10:28:19
Rudi Maintaire
Hallo,
1. so:
Public Sub prcCreateTXT()
Dim intFileNumber As Integer
Dim lngRow As Long
Dim vntArray As Variant
Dim strText As String
Dim i As Integer
Dim sFile
Const strPre As String = vbTab
Reset
sFile = "c:\Test\" & Range("a1") & ".txt"
intFileNumber = FreeFile
Open sFile For Output As #intFileNumber
With ActiveSheet
For lngRow = 1 To 220
vntArray = Range(Cells(lngRow, 1), Cells(lngRow, 11))
vntArray = WorksheetFunction.Transpose(WorksheetFunction.Transpose(vntArray))
strText = Join(vntArray, strPre)
Print #intFileNumber, strText
Next
End With
Close #intFileNumber
End Sub

2. was meinst du mit voll automatisch?
Gruß
Rudi
Anzeige
...mit Exit For bei...
26.01.2010 10:30:53
Luc:-?
...Range(Cells(lngRow, 1), Cells(lngRow, .Column + .Columns.Count - 1)).Address(0, 0) = "K220", Michael,
also If das von oben Then Exit For nach End If.
Gruß Luc :-?
AW: ...mit Exit For bei...
26.01.2010 10:51:40
Michael
Vielen Dank Luc, hab das mal in meinen Quellcode eingesetzt, jedoch kommt immer ein "Laufzeitfehler".
Können Sie mir weiterhelfen?
Warum versuchst du es dann nicht mit...
26.01.2010 11:11:56
Luc:-?
...Rudis Alternative, Michael,
oder enthält die dieses Ende nicht (habe ich mir nicht so genau angesehen!)? Das war nur ein Vorschlag, aber da Rudi das nochmals völlig überarbeitet hat, will ich ihm nicht reinquatschen, zumal ich das jetzt auch nicht testen kann...
Gruß Luc :-?
Anzeige
AW: Warum versuchst du es dann nicht mit...
27.01.2010 13:33:39
Michael
Vielen Dank für eure schnelle Antwort.
Funktioniert einwandfrei.
Gruß Michael

288 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige