Clever-Excel-Forum

Normale Version: Daten aus 400 XLS Files in eine Tabelle integrieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo =)

Bin ganz neu, möchte mich erstmal vorstellen, mein Name ist Simon, ich habe einen neuen Job und stehe vor folgendem Problem:

Ich soll bis Montag aus ~400 XLS Rechnungen die Adressdaten in eine File zusammenfügen, habe mich freiwillig dafür gemeldet weil ich dachte das geht leicht.

Leider sahs dann anders aus.

Also ich habe 400 XLS Dateien, der Großteil hat die Adresse und den Namen in Spalte B Zeile 12-16.

Ich möchte die Adressen so schnell und unkompliziert wie möglich in eine File bekommen, damit ich allen Kunden einen Serienbrief schreiben kann.

Wer mir bis morgen Abend über Teamviewer den Job abnimmt, bekommt 30€ von mir überwiesen, wäre wirklich dringlich.

(Die 30€ biete ich an weil ich momentan nicht den Kopf habe mich mit dem Thema auseinanderzusetzen, also bitte um Hilfe)

Lg
Hallo

Mit Power Query kannst du mehrere Dateien aus einem Ordner abfragen und verarbeiten.
Hallöchen,

Du könntest, wenn Du alle Dateien in ein Verzeichnis legst, mit diesem Makro die Bereiche B12:B16 auslesen. In der Zusammenfassung wird für jeden Eintrag ein 5-zeiliger Bereich für die Übernahme der Adressdaten verwendet.

Code:
Sub HolMirWas()
'Variablendeklarationen
'String
Dim strPath$, strFile$
'Long
Dim iRows&
'Verzeichnis festlegen, in dem alle Excelfiles durchsucht werden
strPath = "G:\Test\"
'Erste Datei ermitteln
strFile = Dir$(strPath & "*.xlsx", vbNormal)
'Zeile fuer Einfuegen setzen
iRows = 1
'Schleife, solange eine Datei gefunden wird
Do Until Len(strFile) = 0
    'Datei oeffnen
    Workbooks.Open strFile
    'Bereich kopieren
    Range("B12:B16").Copy
    'in dieser Datei einfuegen
    ThisWorkbook.Sheets("Tabelle1").Cells(ThisWorkbook.Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).PasteSpecial Paste:=xlValues
    'Datei schliessen
    Workbooks(strFile).Close False
    'Einfuegezeile hochzaehlen
    iRows = iRows + 5
    'naechste Datei ermitteln
    strFile = Dir$
'Ende Schleife, solange eine Datei gefunden wird
Loop
End Sub
wow, ihr seid ja der wahnsinn, geht nichtmal auf das angebot ein, danke :)

leider kenn ich mich total schlecht aus, wie benutzt man so ein macro, bzw hat einer von euch teamviewer und könnte mir damit helfen?
Hallöchen,

ich habe im Anhang mal die Datei mit dem Makro.
In die gelb hinterlegte Zelle gibst Du bitte das Verzeichnis ein, Syntax siehe Beispiel und Hinweis.
(21.02.2016, 10:37)schauan schrieb: [ -> ]Hallöchen,

ich habe im Anhang mal die Datei mit dem Makro.
In die gelb hinterlegte Zelle gibst Du bitte das Verzeichnis ein, Syntax siehe Beispiel und Hinweis.

Hi, ich hab den Pfad festgelegt auch mit dem Backslash, leider passiert nix wenn ich auf Los gehts klicke! :'(
Hallöchen,

die Dateien heißen auch xlsx und nicht xls?
(22.02.2016, 05:17)schauan schrieb: [ -> ]Hallöchen,

die Dateien heißen auch xlsx und nicht xls?

Nein, gehts dann damit? Muss ich schnell umbenennen.

Edit: Hab grad Probehalber eine Datei in XLSX umbenannt, konnte sie dannach nichtmehr öffnen.

Reicht ein reines umbenennen aller Files oder muss das über Excel passieren?
Hi,

ein reines Umbenennen nützt nichts, da Excel je nach Version sein Format abspeichert. Ändere mal im Makro von André den rot/fett markierten Teil in xls; vielleicht funktioniert es dann.


Zitat:Sub HolMirWas()
'Variablendeklarationen
'String
Dim strPath$, strFile$
'Long
Dim iRows&
'Verzeichnis festlegen, in dem alle Excelfiles durchsucht werden
strPath = Cells(9, 6).Value
'Erste Datei ermitteln
strFile = Dir$(strPath & "*.xlsx", vbNormal)
'Zeile fuer Einfuegen setzen
iRows = 1
Danke für die schnelle Antwort.

Wie kann ich den Code editieren?
Seiten: 1 2