class= " lineNumbers " del
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= del
el id= " codeSnippet854494 " class= " del ' este submarino se debe instalar en el cristal del código para la hoja de trabajo del calendario. No trabajará en absoluto si está instalado en cualquier otro lugar.
Worksheet_Activate secundario privado ()
WS dévil como hoja de trabajo, wsCalendar como hoja de trabajo
Rg dévil como gama, más rgDest como gama
N dévil como de largo
'Application.ScreenUpdating = falso
wsCalendar determinado = hojas de trabajo (“calendario”)
wsCalendar.Range (“a2”, “f10000”). Claro
'wsCalendar.Rows (2).Resize (wsCalendar.Rows.Count - 1).ClearContents
'wsCalendar.Rows.ClearContents
Para cada WS en ThisWorkbook.Worksheets
Seleccionar el caso WS. Nombre
Encajonar el “calendario”, “casero”, “espacio de funcionamiento” 'no hacen caso de estas hojas de trabajo
Encajonar
Con WS
'WS. Activar
Fijar el rg =. Gama (“B4”). Volver a clasificar según el tamaño (.UsedRange.Rows.Count, 5) 'mirada en las columnas B: F, comenzando en la fila 4
Si (no intersecarse (rg, .UsedRange) no es nada) y (rg. Células (2, 1) "" del <>) entonces
'campo de rg.AutoFilter: =2, Criteria1: = " <= " y (fecha + 5), operador: =xlAnd, Criteria2: = " >= " y (fecha - 5)
'debe ser el formato de fecha de los E.E.U.U.
hoy = formato (fecha, “milímetro-DD-yyyy”)
campo de rg.AutoFilter: =2, Criteria1: = " >= " y hoy ', operador: =xlAnd, Criteria2: = " >= " y plus5days
La más rgDest determinado = wsCalendar.Cells (wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row, 2)
.AutoFilter.Range.Copy más rgDest
n = wsCalendar.UsedRange.Rows.Count + wsCalendar.UsedRange.Row - rgDest.Row
rgDest.Offset (0, -1). Volver a clasificar según el tamaño (n, 1).Value = WS. Nombre
rgDest.Rows (1).EntireRow.Delete
. Gama (“B4”) .AutoFilter
Terminar si
Terminar con
Terminar selecto
Después
Application.ScreenUpdating = verdad
Submarino del extremo
|