Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1504to1508
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

Ü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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige