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

Txt mit wechselnden Namen einlesen.

Txt mit wechselnden Namen einlesen.
17.02.2015 11:32:16
Chris
Hallo Leute!
Dank Euch lerne ich langsam aber stetig die VBA-Programmierung... Danke dafür :)
Nun hänge ich an einem vielleicht kleinen Problem, was ich aber einfach nicht gelöst bekomme.
Folgendes Szenario: Ich habe mir eine Excel Datei gebastelt mit Makros und eigenem VBA Code. Diese läuft tadellos. Jetzt möchte ich gerne das aus einem Ordner (dort liegt immer nur eine txt datei) die dort liegende Datei eingelesen wird. Der Name ist immer verschieden.
Aktuell:
Sub Txt_Einlesen_01()
' Txt_Einlesen_01 Makro
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\\Desktop\test\warmerregen.txt", Destination:= _
Range("$K$1"))
.Name = "warmerregen.txt"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(6, 8, 20, 40, 20, 20, 20, 20, 6, 20)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Zusätzlich wird am Ende in Makro/VBA-Code Nr. 5 eine CSV erstellt. Kann ich es hier irgendwie schaffen, das der Name der erzeugten CSV datei gleich der Einlesenden Txt Datei ist? Sprich Eingabe txt name = Ausgabe csv name.
Aktuell
Sub CSV_erstellen_05()
' CSV_erstellen_05 Makro
ChDir "C:\Users\\Desktop\test\Ausgabe_CSV"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\\Desktop\test\Ausgabe_CSV\AUSGABE.csv", _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Cells.Select
Range("C1").Activate
Selection.ClearContents
Range("C1").Select
ChDir "C:\Users\\Desktop\test"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\Desktop\test\Eingabe.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Ich hoffe das es einigermaßen verständlich ist. Wieder mal vielen Dank O=)

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Txt mit wechselnden Namen einlesen.
17.02.2015 11:46:44
Rudi
Hallo,
teste mal:
Sub Txt_Einlesen_01()
Dim sFile As String
Const sPfad As String = "C:\Users\\Desktop\test\"
sFile = Dir(sPfad & "*.txt")
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & sPfad & sFile, Destination:=Range("$K$1"))
.Name = sFile
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(6, 8, 20, 40, 20, 20, 20, 20, 6, 20)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Sub CSV_erstellen_05()
Dim sFile As String
Const sPfad As String = "C:\Users\\Desktop\test\"
sFile = Dir(sPfad & "*.txt")
ChDir "C:\Users\\Desktop\test\Ausgabe_CSV"
ActiveWorkbook.SaveAs Filename:= _
sPfad & "Ausgabe_CSV\" & Left(sFile, Len(sFile) - 4) & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Cells.Select
Range("C1").Activate
Selection.ClearContents
Range("C1").Select
ChDir "C:\Users\\Desktop\test"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\Desktop\test\Eingabe.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Gruß
Rudi

Anzeige
AW: Txt mit wechselnden Namen einlesen.
17.02.2015 12:00:17
Chris
Dicken Daumen hoch!
Läuft wie gewollt und ich verstehe sogar was du gemacht hast. Besten Dank :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige