Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zusammenzug aus 4 Dateien

Zusammenzug aus 4 Dateien
25.08.2006 12:26:48
Pascal
Hallo Excel Profis
Folgendes Problem muss ich lösen:
Ich habe 4 Datein A,B,C,D, welche je 4 Sheets/Blätter 1000,2000,3000,4000 enthalten.
Nun möchte ich einen zusammenzug in eine neue Datei vornehmen, welches den gleichen aufbau hat, sprich Datei E mit Blätter 1000,2000,3000,4000.
Nun, wenn in den Dateien 1,2,3,4 in Shett 1000 in Spalte A auf zeile 10-50 etwas steht (Sind unterschiedliche Wörter), dann soll die Zeile von (A-AB) in Datei 5 in Sheet 1000 eingefüllt werden ab Zeile 4. Sozusagen einen Zusammenzug wie erwähnt. Dies natürlich am Schluss für jedes Sheet der 4 Dateien.
Wenn nichts in Spalte A steht, dann muss diese Zeile einfach übersprungen werden.
Hat jemand eine Idee, wie dies zu bewerkstelligen ist?
Für Eure Mithilfe bedanke ich mich herzlich.
Gruss Pascal
PS: Bin bis ca. 16.00 Uhr nicht am PC, sollte es aber bis Montag fertig haben, daher kommen Antworten von mir Später, Danke

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusammenzug aus 4 Dateien
25.08.2006 15:41:07
Heide_Tr
hallo Pascal,
nachfolgender Code sammelt Dir von 4 Dateien (Namen aktualisiseren) für 4 Tabellenblätter die Daten zusammen, wenn A belegt ist.
Voraussetzung ist eine leere Datei mit 4 Tabellenblättern. In dieses kopierst Du den Code und läßt ihn laufen.
Letzendlich besteht das Prinzip darin, dass die Bereiche der Tabellenblätter in Arrays gelesen und (wenn an Stelle 1 belegt) in ein Ergebnisarray (je Tabellenblatt) geschrieben werden. Am Ende werden die Daten rausgeschrieben.
Der Code "Exit Sub" muss in eine Zeile, der Editor hier zerpflückt sie mir.
Irgendwie ist die Lösung ziemlich doof, weil die ewigen Wiederholungen ganz sicher über Schleifen zusammengefasst werden könnten, aber es ist Freitag und es will mir so recht nicht gelingen ...
viele Grüße. Heide

Sub zusammen()
Dim arr1, arr2, arr3, arr4 As Variant
Dim erg1(164, 28), erg2(164, 28), erg3(164, 28), erg4(164, 28) As Variant
Dim ergz1, ergz2, ergz3, ergz4, i, j As Integer
ergz1 = 1
ergz2 = 1
ergz3 = 1
ergz4 = 1
For Each x In Array("a.xls", "b.xls", "c.xls", "d.xls")           'hier die Namen der 4 Dateien
If ActiveWorkbook.Name = x Then                                ' sicher ist sicher....
MsgBox "Aktives Workbook ist eines derjenigen, die ausgewertet werden sollen!!"
Exit 

Sub
End If
arr1 = Workbooks(x).Worksheets(1).Range("A10:AB50")
arr2 = Workbooks(x).Worksheets(2).Range("A10:AB50")
arr3 = Workbooks(x).Worksheets(3).Range("A10:AB50")
arr4 = Workbooks(x).Worksheets(4).Range("A10:AB50")
For i = 1 To 41
If Len(arr1(i, 1)) > 0 Then
For j = 1 To 28 ' A-AB
erg1(ergz1, j) = arr1(i, j)
Next j
ergz1 = ergz1 + 1
End If
Next i
For i = 1 To 41
If Len(arr2(i, 1)) > 0 Then
For j = 1 To 28
erg2(ergz2, j) = arr2(i, j)
Next j
ergz2 = ergz2 + 1
End If
Next i
For i = 1 To 41
If Len(arr3(i, 1)) > 0 Then
For j = 1 To 28
erg3(ergz3, j) = arr3(i, j)
Next j
ergz3 = ergz3 + 1
End If
Next i
For i = 1 To 41
If Len(arr4(i, 1)) > 0 Then
For j = 1 To 28
erg4(ergz4, j) = arr4(i, j)
Next j
ergz4 = ergz4 + 1
End If
Next i
Next x
'alle ausgeben
Application.ScreenUpdating = False
For i = 1 To 4                                    ' für den wiederholten Lauf
Worksheets(i).Range("A1:AB160").ClearContents
Next i
For i = 1 To ergz1 - 1
For j = 1 To 28
Worksheets(1).Cells(i, j) = erg1(i, j)
Next j
Next i
For i = 1 To ergz2 - 1
For j = 1 To 28
Worksheets(2).Cells(i, j) = erg2(i, j)
Next j
Next i
For i = 1 To ergz3 - 1
For j = 1 To 28
Worksheets(3).Cells(i, j) = erg3(i, j)
Next j
Next i
For i = 1 To ergz4 - 1
For j = 1 To 28
Worksheets(4).Cells(i, j) = erg4(i, j)
Next j
Next i
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zusammenzug aus 4 Dateien
25.08.2006 16:47:37
Pascal
Hallo Heide
Vielen Dank erst mal für die Antwort.
Da ich eine Excel Pfeife bin, nun evtl. ne dumme Frage:
Wo schreibe ich das ganze rein?
Bis jetzt habe ich Berechnungen und Überträge innerhalb einer Datei hingekriegt, aber wo ich jetzt das alles reinschreibe?
Wohl nicht unter "A4" in meiner Zusammenzugsdatei:-), von wo an eingefügt werden soll.
Ausserdem, muss dies alles aneinander und am Schluss als Array Formel abgeschlossen werden?
Hast Du mir dazu noch ne kleine Hilfe?
Vielen Dank!
Pascal
AW: Zusammenzug aus 4 Dateien
25.08.2006 17:32:58
Heide_Tr
hallo Pascal,
nein, sorry, das ist ein Makro.
Du öffnest den Makroeditor: Extras / Makro / Visual-Basic Editor.
Dort Rechte-Maus-Taste im linken Teil (Projektexplorer) auf dem Projekt / einfügen / Modul. Nun kopierst Du den Code (komplett) in das Fenster auf der rechten Seite (Achtung: "Exit Sub" in eine Zeile!). Speichern. Fertig.
Aufgerufen wird das Makro über Extras / Makro / Makros... / Zusammen / Ausführen.
viele Grüße. Heide
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige