'Ce sous-marin doit être installé dans le carreau de code pour la feuille de travail de calendrier. Cela ne fonctionnera pas du tout s'installé n'importe où ailleurs.
Worksheet_Activate secondaire privé ()
Le faible WS comme feuille de travail, wsCalendar comme feuille de travail
Faible rg comme gamme, rgDest comme gamme
Faible n en tant que longtemps
Application.ScreenUpdating = faux
wsCalendar réglé = feuilles de travail (« calendrier »)
wsCalendar.Rows (2).Resize (wsCalendar.Rows.Count - 1).Delete
Pour le chaque WS dans ThisWorkbook.Worksheets
Choisir le cas WS. Nom
Enfermer le « calendrier », « à la maison », « aire de travail » 'ignorent ces feuilles de travail
Enfermer autrement
Avec le WS
Placer le rg =. Gamme (« B4 »). Remettre à la côte (.UsedRange.Rows.Count, 5) 'regard à colonnes B : F, commençant dans la rangée 4
Si (ne pas intersecter (rg, .UsedRange) n'est rien) et (rg. Cellules (1, 2) <> "") puis
champ de rg.AutoFilter : =2, Criteria1 : = "<> = " et (date - 5)
rgDest réglé = 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). Remettre à la côte (n, 1).Value = WS. Nom
rgDest.Rows (1).EntireRow.Delete
. Gamme (« B4 ») .AutoFilter
Finir si
Finir avec
Finir choisi
Après
Application.ScreenUpdating = rectifient
Sous-marin d'extrémité
|