Auf dem SharePoint liegen 3 Excelmappen:
A.xlsm
B.xlsm
C.xlsm
Jede dieser Mappen besteht aus 12 Tabellen (01-12, Zahl steht für den jeweiligen Monat).
01 = Januar
02 = Februar
03 = März
usw.
Wenn man bspw. im März Mappe A, B oder C öffnet, sind diese Tabellen bis Tabelle3 gefüllt. Tabellen 04-12 sind folglich leer.
Aktueller Stand:
Die jeweils aktuellen Tabellenblätter (je nach Monat, bspw. 03 = März) dieser 3 Mappen fasse ich manuell in einer neuen Mappe (Name: Auswertung) zusammen. Klassisches Copy&Paste - die Tabellenblätter behalten ihre Form & Inhalt.
Die Mappe Auswertungen befindet sich auf dem Desktop. Die Mappe Auswertungen beinhaltet eine fest vorgegebene Tabelle1 (Reporting). Die Monatstabellenblätter werden nach der Tabelle1 (Reporting) reinkopiert.
Bsp.: Aufbau der Mappe Auswertungen im Monat März
Reporting (Tabelle1) A03(Tabelle2) B03(Tabelle3) C03(Tabelle4)
Mein Wunsch wäre es diesen Prozess mittels VBA zu automatisieren. Sprich, ich betätige einen CommandButton in der Auswertungstabelle, es kommt bspw. eine MsgBox/InputBox mit Textfeld: Welcher Monat soll kopiert werden - 03,04 etc.?
Die jeweiligen Monats-Tabellen werden automatisch in die Mappe Auswertungen kopiert, wobei die Tabellen des Vormonats überschrieben werden.
In diversen Foren habe ich bereits einige Informationen gefunden. Wie ich die InputBox integrieren müsste, weiß ich nicht. Leider bekomme ich es mit meinem bescheidenen Wissen nicht hin.
Sub Dateien_einlesen()
Dim strFile As String
strPath = https://...
strExt = *.xlsm
If strPath = Then
Exit Sub
Else
strFile = Dir (strPath & strExt)
Do While Len(strFile) > 0
Workbooks.Open Filename:= strPath & strFile
This Workbook.Worksheets.Add.Name = strFile
This Workbook.Worksheets(strFile).Copy
ThisWorkbook.PasteSpecial xlPasteValues
ThisWorkbook.PasteSpecial xlPasteFormats
Workbooks(strFile).Close False
strFile = Dir()
Loop
End If
End Sub
Vielen Dank euch!