![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#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. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]() Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Если 10, то 0 to 9, т.к. начинаем с 0. Всего проходов будет 10. Если указать 0 to 10, то проходов будет 11.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Только icounter будет вести себя не так, как в макросах по одному. Возможно, его надо обнулять на каждом шаге внешнего цикла.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 33
|
![]() |
![]() |
![]() |
![]() |
#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 |