mfg
Markus
============
Makro (bestehend aus 2 Modulen):
-Modul "DateiImport":
Sub DatenImport()
SheetsInNewWorkbook = 1
Application.Workbooks.OpenText
Filename:="C:\TEMP\EXCEL.TXT", _
DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierDoubleQuote, _
Tab:=True
Call Format
Application.ActiveWorkbook.ActiveSheet.Copy
Application.Workbooks(2).Close False
Application.Workbooks(1).Close False
End Sub
Sub Auto_Open()
Call DatenImport
End Sub
--------------------
-Modul "Modul1":
Sub Format()
Rows("1:1").Select
Selection.Font.Bold = True
Selection.Font.ColorIndex = 5
Selection.Columns.AutoFit
End Sub
Die While-Schleife macht das mit jeder "csv-Datei" im
Verzeichnis:
Private Sub Dateneinlesen_Click()
Verzeichnis = ThisWorkbook.Path
Zieldatei = ActiveWorkbook.Name
Zielblatt = ActiveSheet.Name
ZuImportierendeDatei = Dir(Verzeichnis & "\*.csv")
While ZuImportierendeDatei <> ""
Set ws = Worksheets("Temp")
Set qt = ws.QueryTables.Add _
(Connection:="Text;" _
+ Verzeichnis & "\" + ZuImportierendeDatei, _
Destination:=ws.[A1])
With qt
.Name = ZuImportierendeDatei
.FieldNames = True
.RowNumbers = False
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMSDOS
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
End With
...
wend
End Sub
Gruß
Thomas
Private Sub Dateneinlesen_Click()
Verzeichnis = ThisWorkbook.Path
Zieldatei = ActiveWorkbook.Name
Zielblatt = ActiveSheet.Name
ZuImportierendeDatei = Dir("C:\Temp\excel.txt")
While ZuImportierendeDatei <> ""
Set ws = Worksheets("excel")
Set qt = ws.QueryTables.Add _
(Connection:="Text;" _
+ Verzeichnis & "\" + ZuImportierendeDatei, _
Destination:=ws.[A1])
With qt
.Name = ZuImportierendeDatei
.FieldNames = True
.RowNumbers = False
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMSDOS
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
End With
Wend
End Sub
Gruß
Markus