Erstellen von Arbeitsblattkopien für tägliche Schichten (Microsoft Excel)
Ryan hat ein Excel-Arbeitsblatt, das er jeden Tag für jede der drei Schichten verwenden muss. Er macht eine Kopie dieses Arbeitsblatts für jede Schicht, jeden Tag, immer und immer wieder. Ryan scheint es hilfreich zu sein, wenn er ein Makro hätte, das das Master-Arbeitsblatt dreimal pro Tag im Monat kopieren könnte und die Arbeitsblätter „1. Februar Schicht 1“, „1. Februar Schicht 2“, |||| nennt | usw. Er kann kein Makro finden, um so etwas zu tun, und fragte sich, ob jemand helfen könnte.
Das Zusammenstellen als Makro dauert eigentlich nicht so lange. Der Trick besteht darin, sich daran zu erinnern, dass das Makro Ihr Master-Arbeitsblatt für jeden Tag im gewünschten Monat dreimal kopieren muss. Dies bedeutet auch, dass das Makro bestimmen muss, wie viele Tage der Monat hat. Sobald dies bekannt ist, können Sie zwei verschachtelte For … Next-Schleifen einrichten, um den eigentlichen Erstellungsprozess abzuwickeln.
Sub CopyShiftSheets() Dim iDay As Integer Dim iShift As Integer Dim iNumDays As Integer Dim wMaster As Worksheet Dim sTemp As String iMonth = 2 ' Set to month desired, 1-12 iCurYear = Year(Now()) iNumDays = Day(DateSerial(iCurYear, iMonth + 1, 0)) Set wMaster = Worksheets("Master") 'change to name of master For iDay = 1 To iNumDays For iShift = 1 To 3 sTemp = MonthName(iMonth) & " " & iDay & " Shift " & iShift wMaster.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = sTemp Next iShift Next iDay End Sub
Beachten Sie, dass der gewünschten Monat (in diesem Fall Februar) der Variablen iMonth zugewiesen ist und dass iCurYear auf das aktuelle Jahr festgelegt ist. Die Anzahl der Tage in diesem Monat und Jahr wird dann berechnet und in iNumDays gespeichert.
Die beiden For … Next-Schleifen durchlaufen jeden Tag und jede Schicht, kopieren das Master-Arbeitsblatt und benennen es um. Wenn Sie fertig sind, enthält Ihre Arbeitsmappe alle gewünschten Arbeitsblätter mit dem richtigen Namen. Sie sollten jedoch darauf achten, dass Sie das Makro nicht zweimal im selben Monat ausführen.
In diesem Fall wird ein Fehler generiert, da die Arbeitsmappe Arbeitsblätter mit doppeltem Namen enthält.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
link: / excelribbon-ExcelTipsMacros [Klicken Sie hier, um diese spezielle Seite in einem neuen Browser-Tab zu öffnen]
.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (13730) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.