2009-04-07 15 views
0

Ich habe ein Makro geschrieben, das eine CSV-Datei mithilfe einer Abfragetabelle in meine Tabelle importiert. Mein Ziel ist es, die CSV-Daten zu importieren und in der Tabelle speichern zu können.VBA: Wie verhindern Sie, dass eine QueryTable aktualisiert wird?

Allerdings wird die QueryTable natürlich mit der externen CSV-Datei aktualisiert, und ich möchte dies verhindern (weil ich die externe Datei vergessen möchte). Gibt es eine QueryTable-Einstellung, die ich verwenden kann, um Aktualisierungen zu verhindern, oder ist das die falsche Funktionalität insgesamt zu verwenden?

Antwort

5

Nun .. Wenn Ihr Ziel ist, die Daten zu importieren und nicht, um diese Daten auf dem neuesten Stand zu halten (dh wieder mit der CSV-Aktualisierung) dann am Ende Ihrer VBA nach .Refresh-Befehl für die Abfragetabelle, Löschen Sie einfach die Abfragetabelle.

z.B.
Sheet1.QueryTables (1) .Refresh (False)
Sheet1.QueryTables (1) .Delete

unbedingt falsch passieren Befehl aktualisieren Excel fragen Forground Abfrage zu tun, wo Ihre Codeausführung bis halten Sie erhalten Ihre Daten. Dann wird Ihre Zelle, in der Sie die Abfragetabelle hinzufügen, als reguläre Zelle behandelt.

1

Sie können VBA verwenden, um die CSV einfach als Arbeitsmappe zu öffnen. Etwas wie das.

Set myCSVbook = Workbooks.Open Filename:="C:\dir\myfile.csv", Format:=2 '2 is csv 

Sobald Sie das getan haben, können Sie einzelne Zellen kopieren, oder man könnte das ganze Blatt in einer anderen Arbeitsmappe in einer Zeile kopieren. Ich denke, es gibt eine Kopie-Methode für das Worksheet-Objekt, um das zu tun.

Verwandte Themen