folgender Code ist gegeben:
Private Sub ImportEasy()
Dim dat As String
dat = Worksheets("ImportEasy").Range("b1")
Sheets("ImportEasy").Select: Range("h3").Select
Range("B3:g60").Select: Selection.ClearContents: Range("B3").Select
With ActiveSheet.QueryTables.Add _
(Connection:="TEXT;" & dat, Destination:=Range("b3"))
.Name = ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
' .RefreshStyle = xlInsertDeleteCells
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
'Löscht die Feldnamen "Externedaten_#" nach der Aktualisierung,
'damit die Datei nicht anwächst
Dim nnn As Name
For Each nnn In ActiveWorkbook.Names
nnn.Delete
Next
Sheets("ImportEasy").Select: Range("b1").Select
End Sub
Der Code funktioniert einwandfrei.
Am Ende wird noch der Name der Abfrage gelöscht, damit die Datenmenge nicht anwächst.
Wenn ich den Macro zum 2'ten mal laufen lasse (ohne Excel geschlossen zu haben),
verschiebt sich die Imporierte Datei teilweise eine Spalte teilweise nach rechts.
Ich vermute, dass es was mit dem Namen "ActiveWorkbook.Names" zu tun hat.
Könntet mir mir bitte dabei helfen.
Dank und Gruss
mehmet