Anzeige
Archiv - Navigation
1644to1648
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

CSV-Import per code aktualisieren mit vorg. Datei

CSV-Import per code aktualisieren mit vorg. Datei
10.09.2018 17:47:23
Daniel
Hallo
ich habe einen Datenimport aus einer CSV-Datei (Daten - aus Text), diesen als Tabelle formatiert und weitere Spalten hinzugefügt.
jetzt möchte ich diesen Import aktualisieren und dabei die Datei ändern (neue Datei einlesen)
Manuell geht das problemlos über das Kontextmenü und Aktualisieren.
jetzt würde ich aber gerne die Aktualisierung per Makro ausführen lassen und dabei den neuen Dateinamen aus einem String vorgeben.
der Recorder zeichnet mir aber nur auf:

Selection.ListObject.TableObject.Refresh

und wenn ich das ausführe, muss ich den Datennamen von Hand auswählen.
wie kann ich ihm hier den Dateinamen im Code vorgeben, so dass ich nicht durch den Dialog gehen muss?
(später sollen per Schleife eine ganze Reihe von Dateien so eingelesen werden)
Gruß Daniel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV-Import per code aktualisieren mit vorg. Datei
16.09.2018 16:59:15
Dieter
Hallo Daniel,
die Aktualisierung müsste sich mit dem folgenden Programm machen lassen.
Sub Aktualisierung()
Dim datAlt As String
Dim datNeu As String
Dim qt As QueryTable
Dim wb As Workbook
Dim ws As Worksheet
Dim zf As String
datAlt = "Datei_alt.csv"
datNeu = "Datei_neu.csv"
Set wb = ThisWorkbook
Set ws = wb.Worksheets(1)
Set qt = ws.QueryTables(1)
zf = qt.Connection
If InStr(zf, datAlt) > 0 Then
zf = Replace(zf, datAlt, datNeu)
qt.Connection = zf
End If
Application.SendKeys Keys:="{ENTER}"
qt.Refresh
End Sub
Viele Grüße
Dieter
Anzeige
AW: CSV-Import per code aktualisieren mit vorg. Datei
16.09.2018 18:20:17
Dieter
Hallo Daniel,
ich habe gerade gesehen, dass das auch ohne SendKeys geht. Das ist natürlich eleganter.
Sub Aktualisierung()
Dim datAlt As String
Dim datNeu As String
Dim qt As QueryTable
Dim wb As Workbook
Dim ws As Worksheet
Dim zf As String
datAlt = "Datei_alt.csv"
datNeu = "Datei_neu.csv"
Set wb = ThisWorkbook
Set ws = wb.Worksheets(1)
Set qt = ws.QueryTables(1)
zf = qt.Connection
If InStr(zf, datAlt) > 0 Then
zf = Replace(zf, datAlt, datNeu)
qt.Connection = zf
End If
qt.TextFilePromptOnRefresh = False
qt.Refresh
End Sub
Viele Grüße
Dieter
Anzeige

286 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige