Clever-Excel-Forum

Normale Version: Bezug zu anderen Tabellen durch Zellinfos
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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?

Anbei auch eine beispielhafte Tabelle.

Viele Grüße,

Paul
Hallo,

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)
Welche weiteren Infos benötigst du?
- wo sind die Quell-Dateien: in einem Ordner?
- welche Zellen sollen kopiert werden? (mit Sheet)
- wo sollen die Werte hingeschrieben werden?

- Besonderheiten wie MAC-Office, UNC-Pfade etc
- 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
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 <<<

mfg

(mal sehen, was daraus wird)