17.07.2019, 15:45 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2019, 15:47 von Paul_Si.)
Hallo Forum, ich bin neu hier und habe ein Problem :D
Ich habe c.a. 20 Einzeldateien, die von Kollegen mit verschiedenen Werten befüllt wird. Dazu gibt es ein Mastersheet, bei dem all diese Infos zusammengefasst werden. Bisher wurde das in meinem Unternehmen alles manuell gemacht und benötigt c.a. 2 Wochen Arbeitszeit. Leider habe ich den Mund etwas zu voll genommen und geprahlt, dass man das auch mit vielen Bezügen miteinander vernetzen kann.... leider hab ichs nicht hinbekommen.
Meine Idee war es, in Zelle 1 den Dateinamen zu schreiben, in Zelle 2 das Tabellenblatt und in Zelle 3 die benötigte Zelle und das alles durch eine nette "Verketten-Formel" zu automatisieren. Leider klappt das nicht. Hat jemand von euch eine Idee, wie ich mein Problem lösen kann?
der Ansatz der Automatisierung ist gut und sollte auch machbar sein. Vermutlich ist es besser mit VBA die Dateien zu öffnen als eine Formel zu konstruieren.
Die gegebenen Info's reichen aber m.E.n. noch nicht aus.
mfg
(eine Woche zu update per Hand? In einer vernünftigen Welt würde der Code dann 2.000 Euro kosten, aber in der realen Welt bekommst du den Code vermutlich kostenlos)
17.07.2019, 16:11 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2019, 16:46 von WillWissen.
Bearbeitungsgrund: Formatierung
)
- wo sind die Quell-Dateien: in einem Ordner? -> JA, alle Dateien befinden sich im selben Ordner (selber Pfad)
- welche Zellen sollen kopiert werden? (mit Sheet) -> Es sollen immer dieselben Zellen kopiert werden, auch die Tabellenblätternamen sind dieselben. Zellen D20, D30, D40, D50 usw... vom jeweiligen Tabellenblatt 05-2019 aus den versch. Dateien.
- wo sollen die Werte hingeschrieben werden? -> Das kann ich nicht genau sagen, da das sehr variabel ist. Deshalb dachte ich an eine Formel.
- Besonderheiten wie MAC-Office, UNC-Pfade etc -> keine Bekannt
17.07.2019, 16:34 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2019, 16:34 von Fennek.)
Als ersten Schritt fügst du den Code in ein neues, leeres Workbook ein und führst ihn im VBE im Einzelschrittmodus F8 aus. Der Code ist "einfach runtergeschrieben", dürfte also den ein oder anderen Fehler haben.
Code:
const Pfad as string = "c:\temp\" '<<< anpassen >>>
sub mangelde_Info_geben_schlechten_Code() dim WB as workbook dim WS as worksheet : set ws = activesheet
Mn = "05-2019" ' wird später automatisiert
f = dir(Pfad & "*.xlsx") do until f = vbnullstring rr = rr + 1 j = 0 set wb = workbooks.open(Pfad & f) with wb.sheets(Mn) for i = 20 to .cells(rows.count, 4).end(xlup).row step 10 j=j+1 ws.cells(rr,j) = .cells(i,4) next i end with wb.close 0 f = dir loop end sub
Die gesuchten Werte werden pro Datei in eine Zeile gechrieben, besser ging es mit den Infos nicht.
>>> Fehlermeldungen bitte SEHR präzise berichten <<<