Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1740to1744
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
VBA Excel export in TXT mit TAB
26.02.2020 16:54:36
Hochheim
Hallo,
ich habe eine Frage. Ich möchte meine Exceltabelle via Makro in eine Texdatei schreiben.
Zeile 1 mit Tab´s getrennt dann Enter und Zeile B mit Tab´s getrennt.
Dafür habe ich was aus dem Netz gefunden, was auch wunderbar funktioniert. Das ganze hat nur einen Fehler.
Eine Zelle die als Währung deklariert ist z.B. 100,00 € wird in der TXT datei nur als 100 geschrieben.
Es soll aber genau das geschrieben werden was in der Tabelle 1 zu 1 steht.
Sonst hat es alles was ich suche. Es soll halt auch automatisch gespeichert und immer wieder ersetzt werden ohne mich zu fragen.
Kann man mir da helfen ?

Sub tt()
prcDatenExport Sheets("Daten")
End Sub

Sub prcDatenExport(wks As Worksheet)
Dim vntData, vntTmp(), strTmp As String, intfile As Integer
Dim i As Long, j As Long
Const strFile As String = "D:\Mieterdatenbank\Versuch\test.txt"  'anpassen
Const strDelim As String = vbTab   'Trennzeichen Tab
intfile = FreeFile
vntData = wks.Range("A1").CurrentRegion
ReDim vntTmp(1 To UBound(vntData, 2))
Open strFile For Output As intfile
For i = 1 To UBound(vntData)
For j = 1 To UBound(vntData, 2)
vntTmp(j) = vntData(i, j)
Next
strTmp = Join(vntTmp, strDelim)
Print #1, strTmp
Next i
Close intfile
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel export in TXT mit TAB
26.02.2020 17:23:20
Nepumuk
Hallo Hochheim,
teste mal:
Sub prcDatenExport(wks As Worksheet)
    
    Const strFile As String = "D:\Mieterdatenbank\Versuch\test.txt" 'anpassen
    
    Dim vntTmp(), strTmp As String, intFile As Integer
    Dim lngRows As Long, lngRow As Long
    Dim lngColumns As Long, lngColumn As Long
    
    intFile = FreeFile
    
    With wks.Range("A1").CurrentRegion
        
        lngRows = .Rows.Count
        lngColumns = .Columns.Count
        
    End With
    
    Redim vntTmp(1 To lngColumns)
    
    Open strFile For Output As #intFile
    
    With wks
        
        For lngRow = 1 To lngRows
            
            For lngColumn = 1 To lngColumns
                
                vntTmp(lngColumn) = .Cells(lngRow, lngColumn).Text
                
            Next
            
            Print #1, Join(vntTmp, vbTab)
            
        Next
    End With
    
    Close #intFile
    
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Excel export in TXT mit TAB
26.02.2020 18:18:05
Hochheim
Das klappt ja super.
Ach wenn man das nur selber könnte.
Ich werde das mal morgen an meinen originalen Datei auf Arbeit testen.
An der Testdatei ging das wie gewünscht.
DANKE DANKE DANKE
AW: VBA Excel export in TXT mit TAB
26.02.2020 18:21:55
Nepumuk
Hallo Hochheim,
habe gerade einen Fehler entdeckt.
Print #intFile, Join(vntTmp, vbTab)

Gruß
Nepumuk
AW: VBA Excel export in TXT mit TAB
27.02.2020 11:59:42
Maik
Hm was macht der Fehler ?
Denn es funktioniert ja zumindestens das was ich wollte macht es.
Nun habe ich es wie schon gestern erwähnt heute auf Arbeit getestet und mir ist noch ein Fehler aufgetreten.
Mit der Texdatei ist optisch alles richtig.
Aber wenn ich es ins PDF importieren sind meine Währungsdaten nicht mit € sondern mit " eingetragen.
In einen PDF Forum schrieb man mir dazu das es in UTF-8 mit BOM formatiert sein muss.
Kann man das implementieren ?
Dann aber nochmal was macht der Fehler falsch den du Nepumuk entdeckt hast ?
Gruß Hochheim
Anzeige
AW: VBA Excel export in TXT mit TAB
27.02.2020 14:01:36
Nepumuk
Hallo Hochheim,
1. Wenn du in Excel eine weitere Textdatei geöffnet hast, dann würde die zuerst geöffnete Datei angesprochen werden und nicht die aktuelle.
2. Dazu kann ich nichts sagen. Warum exportierst du nicht die Tabelle als PDF. Mit der klappt es garantiert.
Gruß
Nepumuk
AW: VBA Excel export in TXT mit TAB
27.02.2020 19:30:15
Hochheim
Wenn das direkt in PDF geht wäre gut. Dann spare ich mir die txt.
Ich habe bis jetzt nur nichts gefunden dazu.
Also ich habe eine Excel Tabelle in der in Mappe 1 Mieter und Mappe 2 Objekte eingetragen sind.
Über eine userform suche ich mir mit jeweils ein dropdownfeld Name vom Mieter und Objekt ID vom Objekt raus. Dann übergebe ich das an Mappe 3 und mittels SVERWEIS habe ich denn alle Daten die noch zur Person oder zum Objekt gehören in einer Zeile.
Jetzt habe ich einen Mietvertrag (PDF) mit Formularfelder und ich möchte aus der Excel Mappe 3 die Daten übergeben.
Bsp: Excel
A B C
1 Name Telefon Straße
2 Klaus 017222 Musterstraße
Übertrag in PDF Formular.
In das Feld Name, Telefon, Straße die Eintragungen Klaus, 017222, Musterstraße machen
jetzt mache ich das halt mit dem Export der Daten in eine txt Datei die mit Tabs getrennt sind.
Wenn ich beim Formular Daten importieren wird alles sauber eingetragen.
Nur bei der Miete steht jetzt immer " statt € und aus dem PDF Forum heißt es mit UTF-8 mit BOM formatiert sein muss.
Anzeige
AW: VBA Excel export in TXT mit TAB
27.02.2020 19:32:36
Nepumuk
Hallo Hochheim,
davon habe ich leider keine Ahnung. Ich lass die Frage offen.
Gruß
Nepumuk
AW: VBA Excel export in TXT mit TAB
27.02.2020 21:59:14
Hochheim
Es soll natürlich heißen
A1 Name B1 Telefon C1 Straße
A2 Klaus B2 107222 C2 Musterstraße
Ich habe die entstandene txt mal händisch auf UTF-8 geändert bringt aber nix.
Hab herausgefunden wenn ich die 102,00 € ohne € Zeichen speichere und als Text also 102.
Dann kann ich im Feld der PDF Datei sagen das ist eine Währung mit 2 Stellen nach dem Komma und € zeichen. Auch bei 101,1 macht er denn 101,10 € draus.
Aber danke für alles.
Wenn es was mit Excel zu PDF in Formulare geben sollte bitte schreiben.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige