' Ten okręt podwodny musieć instalować w the kod tafla dla the kalendarzowy worksheet. Ono pracować wcale jeżeli instalować gdziekolwiek inny.
Intymny Okręt podwodny Worksheet_Activate ()
Ciemnawy ws Jako Worksheet, wsCalendar Jako Worksheet
Ciemnawy rg Jako Pasmo, rgDest Pasmo
Ciemnawy n Długo
'Application.ScreenUpdating = Fałszywy
Ustalony wsCalendar = Worksheets ("Kalendarz")
wsCalendar.Range ("a2", "f10000"). Jasny
'wsCalendar.Rows (2).Resize (wsCalendar.Rows.Count - 1).ClearContents
'wsCalendar.Rows.ClearContents
Dla ThisWorkbook.Worksheets ws W ThisWorkbook.Worksheets
Wybrany Skrzynka ws. Imię
Pakować "Kalendarz", "Domowy", "Przestrzeń" 'Ignorować te worksheets
Pakować Inny
Z ws
'ws. Aktywować
Ustawiać rg =. Pasmo ("B4"). Resize (.UsedRange.Rows.Count, 5) 'Spojrzenie przy kolumna B: F, w rząd 4
Jeżeli ((Rg, .UsedRange) Być Rg) I (rg. Komórka (2, 1) <> "") Wtedy
'rg.AutoFilter Pole: =2, Criteria1: = " <= " & (Data + 5), Operator: =xlAnd, Criteria2: = " >= " & (Data - 5)
'musieć USA daktylowy format
dzisiaj = Format (Daktylowy, "mm-dd-yyyy")
rg.AutoFilter Pole: =2, Criteria1: = " >= " & dzisiaj ', Operator: =xlAnd, Criteria2: = " >= " & plus5days
Ustalony 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). Resize (n, 1).Value = ws. Imię
rgDest.Rows (1).EntireRow.Delete
. Pasmo ("B4") .AutoFilter
Kończyć Jeżeli
Kończyć Z
Kończyć Wybiórka
Następnie
Application.ScreenUpdating = Prawdziwy
Końcówka Okręt podwodny
|