'Dieses Unterseeboot muss in die Codescheibe für das Kalenderarbeitsblatt angebracht werden. Es funktioniert nicht an allen, wenn es irgendwoanders angebracht.
Privates VorWorksheet_Activate ()
Schwaches WS als Arbeitsblatt, wsCalendar als Arbeitsblatt
Schwaches rg als Strecke, rgDest als Strecke
Schwaches n als lang
Application.ScreenUpdating = falsch
Gesetztes wsCalendar = Arbeitsblätter („Kalender“)
wsCalendar.Rows (2).Resize (wsCalendar.Rows.Count - 1).Delete
Für jedes WS in ThisWorkbook.Worksheets
Fall WS vorwählen. Name
„Kalender“ umkleiden, „Haupt“, „Funktions-Raum“ 'ignorieren diese Arbeitsblätter
Sonst umkleiden
Mit WS
Rg einstellen =. Strecke („B4“). Die Größe neu bestimmen (.UsedRange.Rows.Count, 5) 'Blick auf Spalten B: F, beginnend in Reihe 4
Wenn (nicht ist zu schneiden (rg, .UsedRange) nichts) und (rg. Zellen (1, 2) <> "") dann
rg.AutoFilter Feld: =2, Criteria1: = "<> = " u. (Datum - 5)
Gesetztes rgDest = wsCalendar.Cells (wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row, 2)
.AutoFilter.Range.Copy rgDest
n = wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row - rgDest.Row
rgDest.Offset (0, -1). Die Größe neu bestimmen (n, 1).Value = WS. Name
rgDest.Rows (1).EntireRow.Delete
. Strecke („B4“) .AutoFilter
Beenden wenn
Mit beenden
Auserwähltes beenden
Zunächst
Application.ScreenUpdating = ausrichten en
Enden-Unterseeboot
|