class= " lineNumbers "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
|
class=
id= " codeSnippet854494 " class= " ' это подводное лодку необходимо установить в форточку Кодего для рабочий лист календара. Оно не будет работать на всех если установлено в другом месте.
Приватное Sub Worksheet_Activate ()
Тусклый ws как рабочий лист, wsCalendar как рабочий лист
Тусклое rg как ряд, rgDest как ряд
Тусклый n как длиной
'Application.ScreenUpdating = ложно
Установленное wsCalendar = рабочий лист («календар»)
wsCalendar.Range («a2», «f10000»). Ясность
'wsCalendar.Rows (2).Resize (wsCalendar.Rows.Count - 1).ClearContents
'wsCalendar.Rows.ClearContents
Для каждого ws в ThisWorkbook.Worksheets
Выберите случай ws. Имя
Покрывайте «календар», «домашн», «место для работы» 'проигнорируйте эти рабочий лист
Покрывайте еще
С ws
'ws. Активируйте
Установите rg =. Ряд («B4»). Измените размеры (.UsedRange.Rows.Count, 5) 'взгляд на колонках b: F, начиная в рядке 4
Если (не пересечь (rg, .UsedRange) ничего) и, то (rg. Клетки (2, 1) "" <>) после этого
'поле rg.AutoFilter: =2, Criteria1: = " <= " & (дата + 5), оператор: =xlAnd, Criteria2: = " >= " & (дата - 5)
'должен быть формат даты США
сегодня = форма (дата, «mm-dd-yyyy»)
поле rg.AutoFilter: =2, Criteria1: = " >= " & сегодня ', оператор: =xlAnd, Criteria2: = " >= " & plus5days
Установленное 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). Измените размеры (n, 1).Value = ws. Имя
rgDest.Rows (1).EntireRow.Delete
. Ряд («B4») .AutoFilter
Закончитесь если
Закончитесь с
Закончите отборное
Затем
Application.ScreenUpdating = True
Подводная лодка конца
|