Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Über QueryTables einfügen ohne Layout zu ändern?

Forumthread: Über QueryTables einfügen ohne Layout zu ändern?

Über QueryTables einfügen ohne Layout zu ändern?
02.08.2016 07:38:45
Andy
Hallo Zusammen,
kann man einen Textdateiimport mit dem QueryTables.add Befehl auch so einfügen das er Quasi nur in das bestehende Layout den Inhalt einfügt? Aktuell scheint er bei mir wenn ich das Macro ausführe den Inhalt mit komplett neue Spalten einzufügen, so dass das bestehende Layout einfach nach rechts verschoben wird. Hier einmal der Code den ich benutzt habe:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & varDatei _
, Destination:=Range("$A$1"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Wobei varDatei die zuvor gewählte Datei ist.
Vielen Dank im Vorraus
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über QueryTables einfügen ohne Layout zu ändern?
03.08.2016 00:50:19
Jürgen
Hallo Andy,
bei dem Lösungsansatz, einen wiederholten Datenimport über ein Querytable-Objekt zu realisieren, wird gerne der Fehler gemacht, den Prozess der Erstellung (also das ".add") aufzuzeichnen und wiederzugeben.
Ist das Querytable-Objekt erst einmal eingefügt, läuft die Aktualisierung nicht erneut über die .add-Methode (das fügt nur ein zusätzliches(!) Querytable-Obejkt ein!), sondern über .refresh.
Ist der Name der zu importierenden Datei stets gleich, oder soll die Datei vom Anwender ausgewählt werden, reicht (bei entsprechender Einstellung der Datenimporteigenschaften) also
ActiveSheet.QueryTables(1).refresh false
Ändert sich der Name der Quelldatei und soll dies ohne Mitwirkung des Nutzers berücksichtigt werden, muss man das dem Querytable-Objekt über die .connection-Eigenschaft unterschieben und die Informationen zur Interpretation der .csv-Datei erneut hinterlegen, weil sie ansonsten verworfen wird und bei der Aktualisierung per.refresh dem Nutzer der Import-Dialog angezeigt wird.
In Deinem Fall könnte das so aussehen:
With ActiveSheet.QueryTables(1)
.Connection = "TEXT;" & varDatei
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
_
1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Gruß, Jürgen
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige