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:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
|
Sub MakeSummary ()
Тусклый wb как Workbook
Тусклый ds как рабочий лист, os как рабочий лист
Тусклое lRow как длиной, I как длиной, j как длиной, fRecord как длиной
Установите wb = ThisWorkbook
Установите os = wb. Рабочий лист («UnattendedActivity»)
Установите ds = wb. Worksheets.Add (поже: =os)
ds. Имя = «сводка»
lRow = os. Ряд («A65536»). Конец (xlUp). Рядок
os. Клетки (7, 1).Copy ds. Клетки (1, 1)
ds. Клетки (1, 2).Value = os. Клетки (7, 2).Value
ds. Клетки (1, 3).Value = os. Клетки (7, 9).Value
ds. Клетки (1, 1).Copy
ds. Ряд («B1: xlPasteFormats C1») .PasteSpecial
ds. Клетки (1, 1).ColumnWidth = 15.14
ds. Клетки (1, 2).ColumnWidth = 18.57
ds. Клетки (1, 3).ColumnWidth = 10
ds. Клетки (1, 4).ColumnWidth = 1.29
ds. Клетки (1, 5).ColumnWidth = 2.29
ds. Клетки (1, 6).ColumnWidth = 2.29
ds. Клетки (1, 7).ColumnWidth = 4.43
ds. Клетки (1, 8).ColumnWidth = 5.57
ds. Клетки (1, 9).ColumnWidth = 7
j = lRow - 6
fRecord = j
os. Ряд («A8: » & lRow). Экземпляр
ds. xlPasteValues ряда («A2») .PasteSpecial
ds. xlPasteFormats ряда («A2») .PasteSpecial
os. Ряд («B8: B» & lRow). Экземпляр
ds. xlPasteValues ряда («B2») .PasteSpecial
os. Ряд («I8: Iий» & lRow). Скопируйте ds. Ряд («C2»)
ds. Ряд («A2: C» & j). Вид Key1: =Range («A2»), Order1: =xlDescending, Key2: =Range («B2») _
, Order2: =xlDescending, коллектор: =xlNo, OrderCustom: =1, MatchCase: _ =False
, Ориентация: =xlTopToBottom, DataOption1: =xlSortNormal, DataOption2: = _
xlSortNormal
Для I = lRow к 8 разделу -1
ds. Клетки (j, 4) = час (ds. Клетки (j, 3))
ds. Клетки (j, 5) = минута (ds. Клетки (j, 3))
ds. Клетки (j, 6) = во-вторых (ds. Клетки (j, 3))
Если ds. Клетки (j, 1) <> ds. Клетки (j - 1, 1) или ds. Клетки (j, 2) <> ds. Клетки (j - 1, 2) после этого
ds. Клетки (j, 9).Formula = «=SUM (f» & j &»: F " & fRecord & ")/60»
ds. Клетки (j, 8).Formula = «=SUM (e» & j &»: E " & fRecord & ")+I» & j &» /60 "
ds. Клетки (j, 7).Formula = «=SUM (d» & j &»: D " & fRecord & ")+H» & j &» /60 "
ds. Клетки (j, 3).Formula = «=G» & j &» /24 "
ds. Клетки (j, 3).NumberFormat = «h: mm»
fRecord = j - 1
Еще
ds. Ряд («a» & j) .EntireRow.Hidden = True
ds. Клетки (j, 3) = ""
Закончитесь если
j = j - 1
Затем iий
ds. Ряд («D4: I4») .EntireColumn.Hidden = True
Подводная лодка конца
Sub NewTimeLine ()
Тусклый wb как Workbook
Тусклый ds как рабочий лист, os как рабочий лист
Тусклое lRow как длиной, I как длиной, j как длиной, k как длиной, tCounter как длиной, rCounter как длиной, nCol как длиной
Тусклое cRange как ряд
Установите wb = ThisWorkbook
Установите os = wb. Рабочий лист («сводка»)
Установите ds = wb. Worksheets.Add (поже: =os)
ds. Имя = «срок»
ds. Клетки (1, 1) = «СРОК»
ds. Клетки (1, 1).Font.Bold = True
ds. Клетки (1, 1).ColumnWidth = 12.57
lRow = os. Ряд («A65536»). Конец (xlUp). Рядок
tCounter = 2
j = 2
Для I = 2 к lRow
Если os. Клетки (I + 1, 1) <> os. Клетки (I, 1) после этого
ds. Клетки (j, 1) = os. Клетки (I, 1)
rCounter = tCounter
Для k = rCounter к I
Если os. Клетки (k, 2) <> os. Клетки (k + 1, 2) или os. Клетки (k, 1) <> os. Клетки (k + 1, 1) после этого
Установите cRange = ds. Ряд («B1: IV1»). Находка (os. Клетки (k, 2))
Если не cRange ничего после этого
ds. Клетки (j, cRange.Column) = os. Клетки (rCounter, 3)
ds. Клетки (j, cRange.Column) .NumberFormat = «h: mm»
Еще
nCol = ds. Ряд («IV1»). Конец (xlToLeft). Колонка + 1
ds. Клетки (1, nCol) = os. Клетки (k, 2)
ds. Клетки (1, nCol). Font.Bold = True
ds. Клетки (1, nCol) .ColumnWidth = 11.29
ds. Клетки (j, nCol) = os. Клетки (rCounter, 3)
ds. Клетки (j, nCol) .NumberFormat = «h: mm»
Закончитесь если
rCounter = k + 1
Закончитесь если
Следующий k
j = j + 1
tCounter = I + 1
Закончитесь если
Затем iий
ds. Клетки (j, 1) = «суммарные итоги»
Для I = 2 к nCol
ds. Клетки (j, I). Формула = «=Sum (» & ds. Клетки (2, I). Адрес & «: » & ds. Клетки (j - 1, I). Адрес & ")»
Затем iий
ds. Клетки (j, nCol + 1).Formula = «=Sum (» & ds. Клетки (j, 2).Address & «: » & ds. Клетки (j, nCol). Адрес & ")»
ds. Ряд (ds. Клетки (j, 1), ds. Клетки (j, nCol + 1)). Font.Bold = True
ds. Ряд (ds. Клетки (j, 1), ds. Клетки (j, nCol + 1)) .NumberFormat = «[h]: mm: ss; @»
ds.UsedRange.HorizontalAlignment = xlCenter
Подводная лодка конца
|