Microsoft Excel

Herbers Excel/VBA-Archiv

Multiple Datenabfrage - Datenimport

Betrifft: Multiple Datenabfrage - Datenimport von: tomcatoggo
Geschrieben am: 07.08.2014 17:06:33

Hallo,

nachdem ich jetzt etliche Tage dait zugebracht habe, alle möglichen Lösungen auszuprobieren... aber nicht wirklich da gelandet bin, wo ich hinmöchte, möchte ich nun doch einmal bei den Fachleuten nachfragen:

Der Wunsch:
- Makro ausführen
- Verzeichnis auswählen
- alle Dateien (.txt) im verzeichnis werden jeweils in eigene Tabellenblätter importiert und die Tabellenblätter bekommen einen Namen, der in einer Zelle steht.

Wie lädt man denn hier VBA Code rein?
...habs jetzt mal als txt angehängt:
https://www.herber.de/bbs/user/91957.txt

Hat jemand ein paar Vorschläge dazu?

Vielen Dank im voraus

  

Betrifft: AW: Multiple Datenabfrage - Datenimport von: Frank
Geschrieben am: 07.08.2014 22:33:06

Hallo,

Code kopieren, Alt-F11, neues Modul, Code einfügen

Grüsse,
Frank


  

Betrifft: AW: Multiple Datenabfrage - Datenimport von: Daniel
Geschrieben am: 07.08.2014 22:37:27

Hi

der Code sieht doch schon ganz gut aus.
du musst halt die Dateinamenermittlung mit Hilfe der DIR-Funktion optimieren:

strFolder = fd.SelectedItems(1) & "\"
    
    strFilename = dir(strFolder & "*.txt")
 
    While Len(strFilename) > 0

        Sheets.Add

        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strFolder & strFilename,  _
Destination:=Range("$A$1"))
             ...
             ...
        End With
        strFileName = dir
    Wend
Gruß Daniel


  

Betrifft: AW: Multiple Datenabfrage - Datenimport von: tomcatoggo
Geschrieben am: 08.08.2014 10:36:21

Jop... das wars... Danke vielmals!!!

Kannst Du mir kurz noch erklären, wo mein Denkfehler war? Bzw. vielleicht hab ich die DIR Funktion noch nicht ganz verstanden.

...ansonsten natürlich der dumme Variablenfehler... fehlendes option explicit lässt grüßen...


  

Betrifft: AW: Multiple Datenabfrage - Datenimport von: Daniel
Geschrieben am: 08.08.2014 10:43:06

naja DIR() falsch eingesezt.
DIR(Pfad+Dateiname mit Jokerzeichen) liefert dir als ergebnis den ersten Dateinamen, der zu der beschreibung passt, aber eben nur den Dateinamen, ohne den Pfad dazu.
kann kein passender Dateiname gefunden werden, so ist das Ergebnis der Leerstring
DIR (alleine, ohne weitere Parameter) liefert dir den nächsten passenden Dateinamen (bezogen auf das letzte DIR(Pfad+Dateiname), solange bis der komplette Ordner durchsucht wurde. Dann ist das Ergebnis auch wieder der Leerstring.
Gruß Daniel


  

Betrifft: AW: Multiple Datenabfrage - Datenimport von: tomcatoggo
Geschrieben am: 08.08.2014 11:03:14

....da es hier keinen Danke Button gibt... nochmals in Worten: Danke Dir für die Hilfe und die Erklärung!