Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1024to1028
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 verschiebt sich beim 2'ten mal

csv Import verschiebt sich beim 2'ten mal
20.11.2008 21:49:04
mehmet
Hallo Forum,
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

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

Betreff
Datum
Anwender
Anzeige
AW: csv Import verschiebt sich beim 2'ten mal
21.11.2008 22:27:07
Jürgen
Hallo Mehmet,
warum erstellst Du die Abfrage jedesmal neu? Folgender Code sollte ausreichen:
With Sheets("ImportEasy").QueryTables(1)
.Connection = "TEXT;" & Sheets("ImportEasy").Range("b1").Value
.Refresh
End With
Voraussetzung ist, dass die Abfrage bereits definiert und in deren Eigenschaften die Anfrage nach dem Dateinamen deaktiviert ist. Und dass die erste Abfrage auch die richtige ist (s.u.).
Das Löschen der Bereichsnamen verhindert nicht, dass sich Daten ansammeln. Der automatisch beim Refresh der Abfrage gepflegte Bereichsnamen ist sogar recht hilfreich, um z.B. Formeln (z.B. mit SVerweis) auf die importierten Daten zu beziehen. Was sich allerdings ansammelt (wenn nicht noch mehr Code da ist), sind die Abfragen, denn Du legst jedesmal eine zusätzliche Abfrage an! Das ist auch der Auslöser für das Spaltenverschieben: wenn eine neue Abfrage angelegt wird, werden die vorhanden Spalten nach rechts verschoben. Führe doch mal folgenden Code aus:

Sub AnzahlQueryTables()
msgbox "Bereits vorhandene Abfragen: " &  Sheets("ImportEasy").QueryTables.count
End Sub


Herzlichen Gruß
Jürgen

Anzeige
AW: csv Import verschiebt sich beim 2'ten mal
21.11.2008 23:12:12
mehmet
Hallo Jürgen,
herzlichen Dank für deine Lösung.
Leider konnte ich diese nicht lösen 8-(
Aus Verzweiflung habe ich die Frage anders formuliert bevor ich deine Msg sah.
https://www.herber.de/forum/messages/1026860.html
Nochmal herzlichen Dank für deine Hilfe und Mühe
Gruss
mehmet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige