Вопрос : Разрешению отчетного доклада Эксел VBA

Лист 1 прикрепленного .xls будет типичным ежемесячным отчетом о невыполнения обязательства. Мне нужно Кодий VBA создать лист 2 (сводка) и покрыть 3 (срок) в ручные примеры. Я награжу 500 пункты для закодированного разрешения на лист 2 и другие 500 на лист 3. class= " lastRow
>Attachments " имени " class= class= " значение "
>

class= " fileInfo "
title= " " filename class= " Рапорт--071410-081910-.xls (61 KB)  яваскрипт " href= " " attachmentDetails class= (тип архива детали)  
class= " описание "
Отчет о деятельности с сводкой и Timeline
class=
>
class=

Ответ : Разрешению отчетного доклада Эксел VBA

Тем временем, здесь оба разрешения.



PS. Спасибо DropBearMod -) некоторые старые имена приходят медленно назад запомнить
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
Подводная лодка конца
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us