Microsoft Excel

Herbers Excel/VBA-Archiv

Mehrere Excel-Files ansprechen

Betrifft: Mehrere Excel-Files ansprechen von: Max Sch
Geschrieben am: 28.09.2020 10:37:53

Guten Tag,


zunächst möchte ich erwähnen, dass ich VBA-Neueinsteiger bin. Was mich aber schon eine ganze Zeit lang beschäftigt ist folgender Sachverhalt: Ich habe ein Excel-File (Haupt-File) und möchte mittels eines Makros verschiedene Files im selben Ordner öffnen. Dann möchte ich die Inhalte der einzelnen Files in das Haupt-File kopieren und die einzelnen Files dann wieder schließen. Ich habe das schon einmal erfolgreich geschafft, allerdings nur mit einem File. Das hat gut funktioniert, und war mir auch verständlich (da man dieses ja direkt anspricht). Nur wie schaffe ich es, dass ich mehrere Files nacheinander durcharbeite? Klar muss hier wohl eine Schleife her, aber wie setze ich die Variablen? Müssen die Files bestimmte Namen haben, damit das geht (ich hatte mir folgende Namen überlegt, Einleseliste1, Einleseliste2 usw., aber schön wäre es das der Code auch funktioniert, wenn ich einmal 5 und einmal 10 Files hätte)? Müssen die Files immer im selben Ordner sein?


Leider viele kleine Fragen in einer großen Frage... ich wäre sehr dankbar über eine verständliche Antwort, die mir bei diesem Problem weiterhilft. Ich hatte auch schon einmal gegoogelt, habe aber das Gefühl, dass ich irgendwie falsch suche...


Ich bedanke mich bereits im Vorfeld für EURE Hilfe.


Habt einen schönen Tag.

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Günther
Geschrieben am: 28.09.2020 10:51:59

Moin,
ich würde (an deiner Stelle) alle einzulesenden Files in 1 Verzeichnis kopieren und dann die Power Query-Funktionalität nutzen. Dann brauchst du wahrscheinlich kein VBA…
 
Gruß
Günther  |  mein Excel-Blog

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Max Sch
Geschrieben am: 28.09.2020 11:19:55

Vielen Dank für Ihre Antwort. Mit dieser Funktion bin ich nicht so vertraut, würde mir diese aber einmal genauer ansehen.

Interessehalber: Wie könnte das mittels eines VBA-Codes durchgeführt werden?

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Nepumuk
Geschrieben am: 28.09.2020 12:20:23

Hallo Max,

aus welchen Mappen soll aus welchen Tabellen was in welche Tabelle kopiert werden? Auf deine mageren Angaben kann ich nichts aufbauen.

Gruß
Nepumuk

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Max Sch
Geschrieben am: 28.09.2020 12:52:18

Letztlich spielt alles in Tabelle1 statt. Ich würde im Haupt-File den Makro ausführen und die einzelnen Teilnehmerinfos aus den anderen Files sollen dann in das Haupt-File kopiert werden.

Betrifft: AW: Mehrere Excel-Files ansprechen
von: max.kaffl@gmx.de
Geschrieben am: 28.09.2020 13:01:55

Hallo Max,

jetzt bin ich genauso schlau wie vorher. :-(

Gruß
Nepumuk

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Max Sch
Geschrieben am: 28.09.2020 13:10:59

Bitte haben Sie Nachsicht mit mir... Neueinsteiger. Ich finde es immer schwer das Problem adäquat zu beschreiben.
Wie gesagt, ich möchte gerne erfahren, wie ich es schaffe nach und nach einzelne Excel-Files in einem Ordner zu öffnen und mir dann dort den jeweiligen Inhalt in ein Dokument rauskopieren.

Ich weiß wirklich nicht, wie ich es noch beschreiben soll.

Erneut vielen Dank für Ihre Hilfe.

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Nepumuk
Geschrieben am: 28.09.2020 13:30:20

Hallo Max,

ich gebe es auf.

Gruß
Nepumuk

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Günther
Geschrieben am: 29.09.2020 17:35:14

Na ja, schließlich hast DU das Problem und nicht wir. Und DU weißt schließlich, was DU im Endeffekt erreichen willst. Ich denke, dass du hier eine recht gute Beschreibung findest: http://www.excel-ist-sexy.de/alle-xlsx-eines-ordners-importieren/
 
Gruß
Günther  |  mein Excel-Blog

Betrifft: AW: Mehrere Excel-Files ansprechen
von: Rudi Maintaire
Geschrieben am: 28.09.2020 12:59:09

als Anregung:
Sub aaa()
  Dim s As String
  s = Dir("c:\test\*.xlsx", vbNormal)
  Do While s <> ""
    If s <> ThisWorkbook.Name Then
      'mach was
    End If
    s = Dir
  Loop
End Sub

Gruß
Rudi