Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
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

VBA-Code für .txt-Export

VBA-Code für .txt-Export
17.03.2020 07:59:04
Raphael
Hallo zusammen
In der Ursprungs-Tabelle auf dem ersten Arbeitsblatt werden Werte manuell eingetragen und auf einem zweiten Arbeitsblatt über Feld-code (Bspw. =WENN(Blatt1!A57>0;Blatt1!B57;"")) zusammengetragen. Dieses zweite Arbeitsblatt soll nun die Werte als .txt exportiert werden. Die leeren Zeilen sollen jedoch vor dem Export gelöscht werden, also die die nur den Feld-code haben zum Abrufen der Werte auf dem ersten Arbeitsblatt.
Ich habe einen VBA-Code für den .txt Export dieser Werteliste zusammenkopiert und er funktioniert soweit in der Visual Basic Umgebung auch ganz gut. Nun wollte ich das Makro über ein Schnellzugriff-Symbol abspielen lassen. Nun gibt es einen Fehler "Objekt erforderlich". Dieser Fehler tritt aber nur auf wenn ich das Makro über den Schnellzugriff abspielen lasse.
Wie kann ich das korrigieren? Hier der entsprechende Code:
Sub XLS_nach_TXT_Export()
Dateiname = ThisWorkbook.Path & "\import.txt"
Trennzeichen = Chr(9) ' Chr(9) = Tabulator
Columns(1).Insert
With Range("A1:A" & Cells(65536, 2).End(xlUp).Row)
.FormulaR1C1 = "=if(RC2=0,true,row())"
.Formula = .Value
.CurrentRegion.Sort key1:=Cells(1, 1), order1:=xlAscending, Header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
Open Dateiname For Output As #1
For Zeile = 1 To ActiveSheet.UsedRange.Rows.Count
' Spalten 1 bis 7 der aktiven Tabelle werden durchlaufen
GanzeZeile = Cells(Zeile, 1).Value
For Spalte = 2 To 22
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
Next Spalte
Print #1, GanzeZeile
Next Zeile
Close #1
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code für .txt-Export
17.03.2020 08:25:17
Werner
Hallo,
die Referenzierung auf das Blatt fehlt. Zudem solltest du deien Variablen deklarieren.
Sub XLS_nach_TXT_Export()
Dateiname = ThisWorkbook.Path & "\import.txt"
Trennzeichen = Chr(9) ' Chr(9) = Tabulator
With Worksheets("DeinBlattname")
.Columns(1).Insert
With .Range("A1:A" & .Cells(65536, 2).End(xlUp).Row)
.FormulaR1C1 = "=if(RC2=0,true,row())"
.Formula = .Value
.CurrentRegion.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
End With
Open Dateiname For Output As #1
For Zeile = 1 To ActiveSheet.UsedRange.Rows.Count
' Spalten 1 bis 7 der aktiven Tabelle werden durchlaufen
GanzeZeile = Cells(Zeile, 1).Value
For Spalte = 2 To 22
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
Next Spalte
Print #1, GanzeZeile
Next Zeile
Close #1
End Sub
Gruß Werner
Anzeige
AW: VBA-Code für .txt-Export
17.03.2020 11:03:57
Raphael
Hallo Werner
Vielen Dank für den Hinweis. Wie würde diese Referenzierung zum Blatt aussehen?
Beste Grüsse
Raphael
AW: VBA-Code für .txt-Export
17.03.2020 08:27:15
fcs
Hallo Raphael,
ersetze ThisWorkbook durch ActiveWorkbook, denn das Makro das mit der Schaltfläche im Schnellzugriff verknüpft ist steht vermutlich in deiner Perdönlichen MakroArbeitsmappe und nicht in der Datei mit den Daten die exportiert werden soll.
LG
Franz
AW: VBA-Code für .txt-Export
17.03.2020 11:05:26
Raphael
Hallo Franz
Vielen Dank für den Tipp. Ich werde es mal damit versuchen.
Beste Grüsse
Raphael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige