mczack
Goto Top

Excel 2003 - Datenabfrage aus 50 Dateien möglich?

Hallo Excel-Profis,

ich habe schon ausführlich die Suchfunktion benutzt, komme aber zu keinem Ergebnis welches mich weiter bringt. Darum meine Frage jetzt an Euch.

Ich habe ca. 50 Excel-2003 Dateien. Alle befinden sich im gleichen Ordner. Es sind Reparaturlisten von jeweils 20 Geräten pro Tabelle. Die Tabellennamen sind nach Datum erstellt, die Daten sind immer in Tabelle1.
Jetzt sollen alle Geräte in einer neuen Tabelle erfasst werden auch um feststellen zu können ob das Gerät schon mal aufgeführt war.
Die Daten stehen in B7-C7-K7-L7 jeweils bis Zeile 26. Diese Daten sollten in einer Neuen erscheinen mit 4 Spalten und wenn möglich in der 5 Spalte der Name der Tabelle, da hier das Datum genannt wird.
Kann man bei evt. vorh. gleichen Namen aus B7-B26 diese auch gleichzeitig markieren?

Hoffe mir kann jemand helfen, mein Chef sitzt mir schon im Nacken!
Danke.
McZack

Content-Key: 126228

Url: https://administrator.de/contentid/126228

Printed on: April 20, 2024 at 03:04 o'clock

Member: 2hard4you
2hard4you Oct 01, 2009 at 12:07:29 (UTC)
Goto Top
Moin,

mach die neue Tabelle auf

schreib in die erste Zelle ein = und gehe in der erste Datei in B7

Enter

das steht dann was mit Dateiname.Blattname!B7

nach rechts ziehen bis L7, M7 = Dateinamen reinschreiben

B7 bis M7 markieren

runterziehen (19 Zeilen)


darunter wieder alles von vorn mit der nächsten Tabelle (so 49 mal)


die überflüssigen Spalten (Spaltenkopf rechts klicken - Ausblenden)


und um Dopplungen (also mehrmalige Geräte aufzuspüren) einfach danach sortieren


solltest Du in 20 min zu Fuß geschafft haben, natürlich kann man es auch coden, aber dafür müßtest Du es öfters machen...

Gruß

24
Member: bastla
bastla Oct 01, 2009, updated at Oct 18, 2012 at 16:39:31 (UTC)
Goto Top
Hallo McZack und willkommen im Forum!

Versuch es zum Zusammenfassen damit:
Sub Zusammenfassen()
sQuellpfad = "D:\Dein Ordner"  

Q = Array("B", "C", "K", "L") 'Quellspalten  

R = 2 'Startzeile in Sammeltabelle  

Set wbGes = ActiveWorkbook
Set fso = CreateObject("Scripting.FileSystemObject")  
N = UBound(Q)

For Each oFile In fso.GetFolder(sQuellpfad).Files
    If LCase(Right(oFile.Name, 4)) = ".xls" Then  
        Application.Workbooks.Open oFile.Path
        For i = 7 To 26 'Zeilen der Quelltabelle  
            For j = 0 To N
                wbGes.Worksheets(1).Cells(R, j + 1).Value = ActiveWorkbook.Worksheets(1).Cells(i, Q(j)).Value
            Next
            sFileName = fso.GetBaseName(oFile.Name)
            wbGes.Worksheets(1).Cells(R, j + 1).Value = sFileName
            R = R + 1
        Next
        ActiveWorkbook.Close False
    End If
Next

wbGes.Worksheets(1).Activate
wbGes.Save
MsgBox "Fertig."  
End Sub
Dieses VBA-Progrämmchen soll in ein Modul der Zusammenfassungsdatei und von dort aus gestartet werden, wobei diese Datei nicht im gleichen Ordner (siehe Zeile 2) wie die Einzeldateien liegen darf.

Nachdem alle Einzeldaten gesammelt wurden, wird die Sammeldatei automatisch gespeichert - falls nicht gewünscht, die Zeile 28 entfernen.
Zum Finden der gleichnamigen Einträge hat 2hard4you Dir ja bereits einen Tipp gegeben.

Grüße
bastla

P.S.: Und wenn hier Beiträge nicht total informativ mit Excel Makro benannt wären, hättest Du die Originalversion dieses Scripts vermutlich schon gefunden ...
Member: Biber
Biber Oct 01, 2009 at 17:14:05 (UTC)
Goto Top
<OT>
Hmmmm, bastla,

ich will ja wirklich niemand von guten Taten bzw. vom Perlen ins Forum werfen abhalten.

Aber ich muss schon schon sagen, wenn jemand so einen Lollipop-Auftrag vom Cheffe bekommt wie 50 Excel-Blättchen mit je 3 Spalten und 27 Zeilen zusammenzudampfen zu einer Liste,
dann das Problem erstmal sacken lässt, sich gegen Mittag hier anmeldet mit dem Statement
"Hoffe mir kann jemand helfen, mein Chef sitzt mir schon im Nacken!"
.. und vermutlich dann erstmal einen Kaffee aufsetzt, weil... es dauert ja einen Moment, bis die Rundum-Sorglos-Lösung gepostet wird...

Ich will mal so sagen:
  • Wenn als Rückmeldung jetzt kommt: "Äh, ganz toll. Wo muss ich das jetzt hinkopieren?" ---> dann lösch ich den Beitrag
  • Wenn bis morgen früh um 10h keine Rückmeldung kommt --> lösch ich den Beitrag

Abgesehen von dieser auf mich etwas unangemessen wirkenden Erwartungshaltung finde ich wirklich für eine einmalige Aktion ein Vorgehen gemäß 2hard4yous Kommentar sinnvoller.
Der Quatsch könnte doch schon seit 6 Stunden fertigge-Copy&Pasted sein.

Und so einen Mist automatisieren, weil die ohnehin ihren Prozess nicht ändern wollen - ja hey! Dafür kauft man/frau Leute ein.

P.S. @McZack. Mich beispielsweise kannst du auch mieten.

Grüße
Biber
</OT>
Member: bastla
bastla Oct 01, 2009 at 18:36:53 (UTC)
Goto Top
@Biber
Neu geschrieben hätte ich dafür auch diese paar Zeilen nicht - da das Script aber nun schon mal da (und tatsächlich nicht ganz so leicht zu finden) war ...

Grüße
bastla
Member: Biber
Biber Oct 01, 2009 at 18:49:06 (UTC)
Goto Top
@bastla,

ja, ich habe ich mich ja schon wieder etwas abgeregt... face-wink
Hast sicherlich Recht... war schwer zu finden.
Ob das auch impliziert, dass er schwer am Suchen war...wir werden's lesen.

Wer weiss... vielleicht lachen wir morgen um 10:01h schon beide darüber.

Grüße
Biber
Member: bastla
bastla Oct 02, 2009 at 10:16:52 (UTC)
Goto Top
@Biber
Ich bin heute noch nicht zum Lachen gekommen - wie sieht's bei Dir aus? face-wink

Grüße
bastla

P.S.: Bei mir ist die Frage, ob ich "schwer am Whatever" bin, weiterhin rein rhetorischer Natur ... face-wink
Member: McZack
McZack Oct 02, 2009 at 11:54:08 (UTC)
Goto Top
Vielen Dank für die Hilfe! Ich habe es sogar geschaft richtig zu kopieren. face-smile

@ Biber:
Tolle Feststellung, in einem Forum wo User sich helfen sollen.
Na als Bäcker wärst du vielleicht Netter.
-
Schönen Freitag noch!
Member: Biber
Biber Oct 02, 2009, updated at Oct 18, 2012 at 16:39:32 (UTC)
Goto Top
Zitat von @McZack:
Vielen Dank für die Hilfe! Ich habe es sogar geschaft richtig zu kopieren. face-smile

@ Biber:
Tolle Feststellung, in einem Forum wo User sich helfen sollen.
Na als Bäcker wärst du vielleicht Netter.
A propos etwas gebacken bekommen... das Forum hat zwei Stunden lang gebraucht, um 2 Lösungsvorschläge anzubieten.
Du hast danach 24 Stunden für das Copy & Paste der einen Lösung benötigt.

Aber Schwamm drüber... insgesamt hast du die dir vertrauensvoll aufgebürdete Aufgabe in 26 Stunden gelöst und sicherlich zur Zufriedenheit deines Cheffes.

Ich behaupte ja gar nicht, dass deine Form der Arbeitsteilung ineffizient ist.
Aber halt hart an der Grenze der Sozialunverträglichkeit.


Andererseits....
Schönen Freitag noch!

Wünsch ich dir & allen anderen auch
Biber

P.S. @bastla
Den Titel des älteren Beitrags, auf den gestern verwiesen hast habe ich von "Excel-Makro"
geändert auf "Excel Makro - Daten aus mehreren Tabellen in einer neuen Tabelle zusammenfassen".