|
|
|
Работа с массивами, изменения по условиям
|
|||
|---|---|---|---|
|
#18+
Есть задача чтоб для работы в ячейках нескольких массивов выполнялись одни и те же правила Пример и более точное описание задачи в приложенном файле. Возможно ли решение этой задачи в VBA? Заранее благодарен всем кто сможет помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 16:44 |
|
||
|
Работа с массивами, изменения по условиям
|
|||
|---|---|---|---|
|
#18+
Код: plaintext в Excel у объекта worksheet мало событий, и среди них нет события которое срабатывало бы при нажатии на кнопку клавиатуры как например у контролов у которых есть событие KeyDown, KeyPress, KeyUp, но у worksheet есть событие Change срабатывающее при выходе из ячейки. Так что если оно Вас устроит, то дерзайте или пробуйте Application.OnKey и Applicaition.SendKeys как сказал m: работаю в Paint'e других вариантов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2009, 09:18 |
|
||
|
Работа с массивами, изменения по условиям
|
|||
|---|---|---|---|
|
#18+
У вас правильно формула стоит, только у вас время в текстовом формате, поэтому нужно чуть доработать {=СУММ(ЕСЛИ(--A2:A60904>=E3;ЕСЛИ(--A2:A60904<=F3;ЕСЛИ(C2:C60904=G3;B2:B60904))))} Формула массива вводится одновременным нажатием клавиш <Ctrl>+<Shift>+<Enter> Можно обойтись без формулы массива =СУММПРОИЗВ((--A2:A60904>=E3)*(--A2:A60904<=F3)*(C2:C60904=G3)*B2:B60904) Гораздо быстрее будет также считать если уменьшить диапазоны или сделать их саморасширяющимися (см. форум), зачем вам 60904 тыс. строк? Во всех формулах не нужен будет двойной минус перед временем если время будет вводиться в ячейки в формате времени. Еще один способ сделать вычисления более быстро - это использовать БДСУММ() - читайте справку. Также можно воспользоваться сводной таблицей, возможно придется ввести дополнительное поле или воспользоваться группировкой строк. З.ы.: на БДСУММ посмотрите - это довольно быстро, но только в формате времени должны быть значения исходные обязательно, пример на прилагаемом рисунке есть пример БДСУММ() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2009, 11:26 |
|
||
|
Работа с массивами, изменения по условиям
|
|||
|---|---|---|---|
|
#18+
2 Deggasad , Не в тот топик ? :)... Я тогда сразу и вопрос закину: Код: plaintext И с сумм+если тоже очень интересно... Вообщем спасибо за обучение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2009, 11:45 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36301703&tid=2178860]: |
0ms |
get settings: |
14ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 523ms |

| 0 / 0 |
