Excel-Dateien zusammen führen (Tabellen)
25.09.2025 16:32:49
KSMBln
Ich habe jetzt mehrere Wochen im Internet und hier nach verschiedenen Lösungen gesucht.
Ich habe eine Excel in der ich nach einer Datei suche und sie öffnen lasse.
Sub Suchen_Oeffnen()
'Entnommen aus Link: https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/sendkeys-statement
'entnommen aus Link: https://www.herber.de/forum/archiv/608to612/609556_Tabellenblatt_kopieren_mit_VBA.html
'entnommen aus Link: https://administrator.de/forum/mit-vba-teile-einer-unbekannten-excel-datei-in-eine-neue-kopieren-82577.html
'Wartezeiten müssen wegen der Trägheit der Programme sein.
'***********************************************************************************
Set ZBK = ActiveWorkbook 'Arbeitsmappe auf das aktive Workbook setzen
Shell "explorer.exe", vbNormalFocus 'der Exploerer wird geöffnet
Application.Wait (Now + TimeValue("0:00:05")) 'Wartezeit
'Suche aktivieren
SendKeys "^(f)" 'Tastenkürzel senden
Application.Wait (Now + TimeValue("0:00:01")) 'Wartezeit
Tabelle_Schalthilfe.Range("Zettel").Copy 'Zelle mit einem Teil des Dateinamens (z.B. Schaltzettel_Linecard_(BNG)_49_511_2832_71E2_202)
'in Suche einfügen
SendKeys "^(v)" 'Tastenkürzel senden
Application.Wait (Now + TimeValue("0:00:01")) 'Wartezeit
SendKeys "{ENTER}"
Application.Wait (Now + TimeValue("0:00:03")) 'Wartezeit
'Aufruf der Datei
SendKeys "{DOWN}" 'Tastenkürzel senden
Application.Wait (Now + TimeValue("0:00:03")) 'Wartezeit
SendKeys "{ENTER}" 'Tastenkürzel senden
SendKeys "{NUMLOCK}" 'Nummernblock wird wieder eingeschaltet
End Sub
Dies funktioniert sehr gut :)
Der "Zettel" wird aus bestimmten Zellen (=VERKETTEN(R7;"_49_";VPSZe)) zusammen gesetzt und auch gefunden. Das, was gleich bleibt ist "Schaltzettel_Linecard_(BNG)"
Nun möchte ich aber auch die aufgerufene Datei automatisch ein paar Zellen kopieren, oder den ersten Sheet zur ersten Excel ("Schalthife") einfügen.
Der selbst erstellte Makro macht dies zwar, aber nur für die gerade geöffnete Datei.
Windows("Schaltzettel_Linecard_(BNG)_49_011_2802_71E2_902_VDSL-V,VDSL,ADSL8+_1234567891234567.xls").Activate
'Sheets("Schaltzettel_Linecard").Select
Sheets("Schaltzettel_Linecard").Copy After:=Workbooks("KSM-Umschaltliste Outdoor Original.xlsm").Sheets(1)
Application.WindowState = xlMinimized
Wenn ich Windows("Schaltzettel_Linecard_(BNG)_49_511_2832_71E2_202" & "*.xls").activate daraus mache kommt " Index außerhalb des gültigen Bereichs".
Wie kann ich den Sheet aus der Datei entnehmen wo ein Teil des Dateinamens unbekannt ist?
Besten Dank
Klaus
Anzeige