Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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

Datenimport mit Datei-öffnen Dialog

Datenimport mit Datei-öffnen Dialog
29.02.2016 23:25:00
EasyD
Hallo zusammen,
eine neuerliche Frage, denn ich verzweifle.
Ich weiß, das Thema ist schon mehrfach im Forum durchdiskutiert. Habe auch alles gelesen
und weitestgehend verstanden denke ich.
Trotzdem bekomme ich folgenden Code nicht zum laufen.
Ich möchte csv daten einlesen in die Tabelle import
das ganze natürlich über den Datei-Öffnen Dialog und nicht mit festem Quelldaten-Bezug
An der Stelle with ActiveSheet.QueryTables ... hängt er
bin dankbar für jede Fehlerkorrektur, ich blicke es nicht....
Sub Datenimport()
'Daten importieren in Zelle A1
'Datei öffnen-Dialog
Dim Datei As String
Datei = Application.GetOpenFilename(filefilter:="Textdateien (*.csv), *.csv")
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "Keine Daten zum Import ausgewählt!", , "Abbruch"
Exit Sub
End If
Sheets("Import").Activate
With ActiveSheet.QueryTables.Add(Connection:=Datei, Destination:=Range("A1"))
.Name = "Importdatei"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 2, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport mit Datei-öffnen Dialog
29.02.2016 23:27:31
EasyD
hehe,
Ich weiß, das Thema ist schon mehrfach im Forum durchdiskutiert. Habe auch alles gelesen
offensichtlich habe ich da in anderen foren gelesen ;)

AW: Datenimport mit Datei-öffnen Dialog
01.03.2016 09:49:50
Luschi
Hallo EasyD,
Da Du sicher öfters per 'ActiveSheet.QueryTables.Add' Daten in die Tabelle 'Import'
einlesen willst, muß Du natürlich die (eventuell) vorhandenen alten Daten löschen!.
Das geht aber nicht so einfach, da diese Daten ja an ein Abfrage (QueryTable) gebunden sind;
Excel Zicken macht und diese Abfrage ist in eine 'intelligenten Tabelle' (iT) formatiert.
So kann man nicht einfach per Vba die Tabelle 'Import' abchecken, welche 'QueryTables' sie kennt,
sondern muß die iT darauf prüfen und diese 'QueryTables' dann löschen.
Eine Demodatei würde hier helfen, die entsprechende Vba-Befehle passend zu machen.
- kürze also die csv.Datei auf wenige Datensätze
- ändere die lebenswichtigen Informationen in anonyme, nichtssagenden Blablas
- die Datentypen je Spalten sollten aber passen
- lese die csv-Datei in eine leere Excel-Datei ein
- und stelle beide Dateien (xlsx & csv) hier in 1 zip-Datei bereit.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Datenimport mit Datei-öffnen Dialog
01.03.2016 20:41:46
EasyD
Habe die Ehre Luschi
natürlich kannst du das ganze auch haben zum probieren, siehe die angehängte zip
allerdings ist da wirklich nicht mehr drin als in meinem Post oben beschrieben.
https://www.herber.de/bbs/user/104016.zip
Die Sache mit der Bindung der Daten an die Abfrage habe ich auch schon als mögliches Problem wahr genommen, konnte mir aber noch wirklichen keinen Reim drauf machen zumal man ja gefragt wird ob man die Abfrage erhalten möchte wenn man die importierten Daten raus löscht.
Der Plan war, zuerst den Import zu regeln und mit einem zweiten Befehl die importierten Daten dann wieder zu löschen und die Abfrage dann eben NICHT aufrecht zu erhalten.
Ich bin gespannt...

Anzeige
AW: Datenimport mit Datei-öffnen Dialog
03.03.2016 21:27:17
EasyD
Lösung nach viiieeel googeln...
Das Ding öffnet sogar automatisch den Dateipfad, in dem die Excel liegt....
Sub Test_import()
Sheets("Import").Activate
Dim sFile As String
Range("A:L").ClearContents
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = ActiveWorkbook.Path & "\"
.Filters.Add "Textdateien", "*.csv", 1
.FilterIndex = 1
If .Show = -1 Then
sFile = .SelectedItems(1)
Else
'Abbrechen falls keine Datei ausgewählt
MsgBox "Keine Daten zum Import ausgewählt!", , "Abbruch"
Exit Sub
End If
End With
If sFile  "" Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & sFile, Destination:=Range("A1"))
.Name = "Importdatei"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 2, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
End Sub

Anzeige

78 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige