Excel тупит или я, заполнение данных

Программирование на Visual Basic for Applications
Ser Artur
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 10.10.2005 (Пн) 13:03

Excel тупит или я, заполнение данных

Сообщение Ser Artur » 31.10.2005 (Пн) 11:30

я написал код составления отчёта кассы
но здесь есть такая задачка которая заключается в следующем можно ли программно задать в итоге Е26 условие если в В10:B22 есть "Незакрытые счета" и "Возврат предоплаты" то суммы в Е10:E22 вычесть из итогов, я это сделал при помоши СУММЕСЛИ при котором строки 24, 25 и 26 должны будут не видимыми при печати.
И ещё можно ли ограничить заполнение данных от В10 до G22 и от В28 до G33
И проверь пожалуйста код
NextRow = Application.WorksheetFunction.CountA(Range("B:B")) + 6
и
NextRow = Application.WorksheetFunction.CountA(Range("B:B")) + 17 :o :?: :?: :?:
Вложения
12.zip
(16.19 Кб) Скачиваний: 43

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 01.11.2005 (Вт) 17:32

для начала попробуй стереть все, что у тебя в строках 23-25, включая формулы, втавить в ячейку Е26 след. формулу и скопировать ее вправо в F26 и G26:

=СУММ(E10:E25)-СУММПРОИЗВ(--($B10:$B25={"Незакрытые счета"\"Возврат предоплаты"})*E10:E25)

таким образом исключается необходимость прятать строки.

При следующей возможности скажу как поменять код.
Привет,
KL

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 02.11.2005 (Ср) 1:12

небольшая поправка к первой формуле:

=СУММ(E10:E25)-СУММПРОИЗВ(($B10:$B25={"Незакрытые счета"\"Возврат предоплаты"})*E10:E25)

либо длиннее, но быстрее (разница заметна при работе с большими матрицами):

=СУММ(E10:E25)-СУММПРОИЗВ(СУММЕСЛИ($B10:$B25;{"Незакрытые счета"\"Возврат предоплаты"};E10:E25))
Привет,
KL


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 77

    TopList