|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.08.2010, 16:39 | #1 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
Объединение макросов
Всем доброго времени суток.
Можно ли объединить два (несколько) небольших макроса использующие один источник, но разные критерии. Пример: Sub f5() Dim i As Long, acontrol As Date, icounter As Long With Sheets("ХРОНОМЕТРАЖ") For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(i, 5) = "УТП" And .Cells(i, 29) = "вне базы " And .Cells(i, 1) <> acontrol And .Cells(i, 1) >= Sheets("Подведение итогов").Cells(55, 1) _ And .Cells(i, 1) <= Sheets("Подведение итогов").Cells(55, 2) Then acontrol = .Cells(i, 1) icounter = icounter + 1 End If Next Sheets("Подведение итогов").Cells(8, 14) = icounter End With End Sub Sub f6() Dim i As Long, acontrol As Date, icounter As Long Application.ScreenUpdating = False With Sheets("ХРОНОМЕТРАЖ") For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(i, 5) = "УТП" And .Cells(i, 29) = "вне базы " And .Cells(i, 1) <> acontrol And .Cells(i, 1) >= Sheets("Подведение итогов").Cells(56, 1) _ And .Cells(i, 1) <= Sheets("Подведение итогов").Cells(56, 2) Then acontrol = .Cells(i, 1) icounter = icounter + 1 End If Next Sheets("Подведение итогов").Cells(9, 14) = icounter End With End Sub разница выделена. Сам пробовал это сделать, но увы. Последний раз редактировалось Pilot; 31.08.2010 в 16:42. |
31.08.2010, 16:52 | #2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
31.08.2010, 16:52 | #3 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
Код:
|
31.08.2010, 17:02 | #4 | |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
Цитата:
|
|
31.08.2010, 17:07 | #5 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Если 10, то 0 to 9, т.к. начинаем с 0. Всего проходов будет 10. Если указать 0 to 10, то проходов будет 11.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
31.08.2010, 17:12 | #6 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
|
31.08.2010, 17:20 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Только icounter будет вести себя не так, как в макросах по одному. Возможно, его надо обнулять на каждом шаге внешнего цикла.
webmoney: E265281470651 Z422237915069 R418926282008
|
31.08.2010, 17:25 | #8 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
|
31.08.2010, 17:30 | #9 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Известная проблема. Вот здесь я описывал способ устранения.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программирование макросов | stasbz | Фриланс | 10 | 22.11.2014 08:48 |
Автозапуск макросов | blacklight | Microsoft Office Excel | 2 | 01.10.2009 13:33 |
Создание макросов | Женечка2607 | Microsoft Office Excel | 3 | 23.04.2009 21:17 |
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без | Neoli | Microsoft Office Excel | 2 | 09.03.2009 14:31 |
Сравнение макросов | valerij | Microsoft Office Excel | 24 | 09.06.2008 00:57 |