"Master"MakroFile zum Umbennen
03.07.2017 19:46:25
GSahintuerk
vorab: Ich bin absoluter VBA Laie und habe mir daher schon diverses Lesematerial besorgt, um peu a peu diese Sprache zu lernen, da sie auch im beruflichen Alltag bei meiner neuen Stelle für mich sehr wichtig sein wird.
Jetzt habe ich die ehrenhafte Aufgabe bekommen, so schnell es geht schon etwas in ein Makro zu gießen.
Dieses Makro muss nicht perfekt sein, es soll eigentlich "quick and dirty" werden. An der Schönheit kann ich arbeiten, wenn ich tiefer im Thema dann stecke.
Folgendes:
Ich habe Dateien die wie folgt nummeriert sind.
551.xlsm
552.xlsm
553.xlsm
.
.
.
559.xlsm
Jede dieser Datein wird von mir ein Makro bekommen (schnelle Lösung)
Und zwar haben diese Datein schon mehrere WorkSheets nämlich nach folgender Logik
23KW, 22KW, 21KW, 20KW etc.
Am Anfang (also ganz links) soll immer die aktuellste KW stehen. Da ich noch keine Ahnung habe, wie man eine dynamische Bennenung durchführt bzw. jedes mal, wenn ich den Makro aktiviere die neue KW hinzugefügt wird (in meinem Beispiel dann "24KW). Habe ich mir wie folgt geholfen.
"Sub NeuesSheet()
Dim blatt As Object
Dim BlattName As String
Dim bloFlg As Boolean
BlattName = "Neues Blatt"
For Each blatt In Sheets
If blatt.Name = BlattName Then bolflg = True
Next blatt
If bolflg = False Then
With ThisWorkbook
.Sheets.Add after:=Sheets(Worksheets.Count)
.ActiveSheet.Name = "Neues Blatt"
End With
End If
Sheets("Neues Blatt").Select
Sheets("Neues Blatt").Move Before:=Sheets(1)
Sheets("Neues Blatt").Select
Range("C30").Select
End Sub
"
Nun will ich eine Master_Datei erstellen die quasi wenn die Master_Datei (Nennen wir Sie "Rename") starte jede Datei (551,552,553) etc. einzeln aufmacht, diese in die aktuelle KW umbennent und dann wieder schließt.
Der Hintergrund: So müsste ich jeden Montag nur einmal die KW in der Rename_Datei umbenennen und dann einmal auf "Go" drücken.
Ich weiß, dass hier jetzt viele innerlich weinen werden - aber wie gesagt: Es muss leider schnell gehen. Und mir fällt OHNE jegliches Vorwissen keine andere Möglichkeit ein.
Nur: Wie bringe ich meine Master_Datei dazu eine neue Datei aufzumachen, zu bearbeiten und zu schließen. Wenn ich den Makro aufnehme kommt nur folgendes dabei raus:
Sub Makro1()
Sheets("Neues Blatt").Select
Sheets("Neues Blatt").Name = "KW9"
Range("C30").Select
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("Neues Blatt").Select
Sheets("Neues Blatt").Name = "KW9"
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Wie ihr seht, greift er aber nicht direkt auf die Datei zu. Vielleicht kann mir der eine dabei helfen und mir meine Unwissenheit verzeihen?
Vielen Dank schon mal und liebe Grüße
GSahintuerk