per Makro möchte ich, dass aus einem Tabellenblatt Zeilen, in denen die Spalte A einen Wert enthält, in eine Text-Datei geschrieben werden. Die Spalten sollen per Tabstop getrennt werden. Besonderheit: der Export soll bei Zeile 3 beginnen.
Habe einen Code gefunden der auch funzt, allerdins startet die TXT-Datei mit sechs Leerzeichen. Das soll so nicht sein.
Könnte bitte einer meinen Code überprüfen und mir sagen, wo der Fehler liegt?
Sub Exportieren()
Dim intFF As Integer
Dim iZeile As Long, iSpalte As Long
Dim strDatei As String, strTemp As String, strSep As String
strSep = vbTab 'Trennzeichen
Worksheets("Tabelle1").Activate
strDatei = "C:\Users\Vertriebsleitung\Documents\TestKunde.txt"
If Dir(strDatei) "" Then
'Schreibschutz für erstellte Datei entfernen
VBA.FileSystem.SetAttr (strDatei), 0 '0 = normal ohne ReadOnly
End If
intFF = FreeFile
iZeile = 3 ' Variable für Zeilennummer
Open strDatei For Output As #intFF ' Öffnet oder erstellt Textdatei zum _
hineinschreiben
For iSpalte = 1 To 4
strTemp = strTemp & strSep & Cells(iZeile, iSpalte).Text
Next
Print #intFF, strTemp ' Zwischenspeicher in TXTDatei schreiben
iZeile = iZeile + 1 ' Zeilenzähler erhöhen
Do Until Cells(iZeile, 3).Value = "" ' Schleife: Laufe solange, bis Zelle leer ist
strTemp = "" ' Zwischenspeicher zurücksetzen
' Zellwerte an Zwischenspeicher übergeben
For iSpalte = 1 To 4
strTemp = strTemp & IIf(strTemp = "", "", strSep)
Select Case iSpalte
Case 1, 2, 3, 4
'Zelleninhalte übernehmen wie angezeigt( Text, PLZ, Telefonnummern, Währungen)
strTemp = strTemp & Cells(iZeile, iSpalte).Text
Case Else 'Zellwert an Zwischenspeicher anfügen
strTemp = strTemp & Cells(iZeile, iSpalte).Value
End Select
Next
Print #intFF, strTemp ' Zwischenspeicher in TXTDatei schreiben
iZeile = iZeile + 1 ' Zeilenzähler erhöhen
Loop ' zurück zum Schleifenbeginn
Close #intFF ' schließt die Textdatei
'Schreibschutz für erstellte Datei setzen
VBA.FileSystem.SetAttr (strDatei), 1 '1 = ReadOnly
End Sub
Ideal wäre auch noch, wenn mit jemand eine Codezeile schreibt, aus der sich der Dateiname ergibt. Geht es, dass es eine Kombination aus "XXX_ und Feld A3" ist?Danke für Eure Hilfe
Andre