'Dit sub moet in de coderuit voor het kalenderaantekenvel worden geïnstalleerdt. Het zal niet bij allen indien nergens anders geïnstalleerdt werken.
Privé SubWorksheet_Activate ()
Schemerige ws als Aantekenvel, wsCalendar als Aantekenvel
Schemerige rg als Waaier, het meest rgDest als Waaier
Schemerig n zoals lang
Application.ScreenUpdating = Vals
Vastgestelde wsCalendar = Aantekenvellen („Kalender“)
wsCalendar.Rows (2). Resize (wsCalendar.Rows.Count - 1). Schrap
Voor Elke ws in ThisWorkbook.Worksheets
Selecteer Geval ws. Naam
De „kalender“ van het geval, „Huis“, „het Werk Ruimte“ 'negeert deze aantekenvellen
Geval anders
Met ws
Reeks rg =. Waaier („B4“). Resize (.UsedRange.Rows.Count, 5) 'bekijken kolommen B: F, die in rij 4 beginnen
Als (is Snijden niet (rg, .UsedRange) niets) en (rg. Cellen (1, 2) <> "") toen
rg.AutoFilter gebied: =2, Criteria1: = "<> = " & (Datum - 5)
Vastgestelde het meest rgDest = wsCalendar.Cells (wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row, 2)
het meest rgDest .AutoFilter.Range.Copy
n = wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row - rgDest.Row
rgDest.Offset (0, -1). Resize (n, 1). Waarde = ws. Naam
rgDest.Rows (1) .EntireRow.Delete
. Waaier („B4“) .AutoFilter
Eind als
Eind met
Uitgezocht eind
Daarna
Application.ScreenUpdating = Waar
Sub van het eind
|