|
|
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
У меня есть столбец цифр... внизу его считается сумма, цифры в столбце все время меняются (они импортируются), соответственно сумма тоже пересчитыватся, в определенное время одна из цифр в столбце или несколько при сробатывании условия обнуляются. Вопрос как сделать так чтобы их последняя после обнуления цифра оставалась в памяти суммы, и когда эти цифры опять из нуля начинают показывать значение оно опять суммировалось к сумме,? Получится должно что то воде счетчика.... суммм с сохранением каждые например 1 мин времени или по другому как то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 13:16:58 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
У рабочего листа есть событие SelectionChange. В обработчике этого события Worksheet_SelectionChange можно делать “снимок” состояния нужного диапазона после произошедших изменений (например, можно в переменную сохранять текущую сумму значений ячеек. Можно, также, во временный массив сохранить все значения ячеек диапазона). Как воспользоваться этим богатством – решайте сами. Из формулировки Вашей задачи Максим Моисеев, мне лично не до конца понятно, что именно нужно сохранять, и с чем это нужно суммировать. Для удобства также можно подменить встроенную функцию СУММ() на пользовательскую, которая и будет учитывать логику задачи (повторяю, мне не до конца понятную). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 14:28:00 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
извините за непонятливое обьяснение,просто я не очень хорошо разбираюсь в Exel все просто... есть столбец цифр, они все время меняются, внизу я просто считаю, общую сумму, но в момент когда одно из чисел становится ноль (например была цифра 300 стала 0), сумма должна сохранять свое значение с цифрой 300, а не ноль. И после того как через определенное время "ноль" опять станет цифрой (например был "ноль", а стал 250) он снова должен нормально суммироваться к сумме. Пример: ........ 1 - 1..... |........1 - 2...... | .......1 - 2.... ........ 2 - 1..... |........2 - 1...... |.......2 - 1.... ........ 3 - 1..... |........3 - 1...... |.......3 - 1.... ........ 4 - 1..... |........4 - 1...... | .......4 - 1.... ........ 5 - 300 | ........5 - 0...... |.......5 - 200 ........ 6 - 1..... |.........6 - 1....... |.......6 - 1.... сумма - 305 | сумма - 306 | сумма - 506 Примерно вот такой смысл. Если есть возможность обьясните пожалуйста на пальцах, а то я с макросами и массивами на "вы". Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 14:58:34 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Я ошиблась, говоря о событии SelectionChange. Речь конечно же идет о событии Change ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 15:17:42 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
lena_####Я ошиблась, говоря о событии SelectionChange. Речь конечно же идет о событии Change lena_#### а не могли бы вы хотя бы примерно написать как это должно выглядеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 15:50:33 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев Получится должно что то воде счетчика.... суммм с сохранением каждые например 1 мин времени или по другому как то... можно воспользоваться отключением автоматического пересчета для этого в меню "сервис-параметры" на вкладке "вычесления" нужно выбрать опцию "вручную" и тогда пересчет будет производится только после нажатия на клавишу "F9" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 16:53:31 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
vkodor Максим Моисеев Получится должно что то воде счетчика.... суммм с сохранением каждые например 1 мин времени или по другому как то... можно воспользоваться отключением автоматического пересчета для этого в меню "сервис-параметры" на вкладке "вычесления" нужно выбрать опцию "вручную" и тогда пересчет будет производится только после нажатия на клавишу "F9" к сожалению не подходит, при появлении в столбце нуля, его тоже обсчитывает как ноль, а надо чтобы предыдущий результат сохранялся в сумме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:03:24 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
ну тогда отключите пересчет и в модуль листа пропишите эти строки Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:31:20 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
vkodorну тогда отключите пересчет и в модуль листа пропишите эти строки Код: plaintext 1. 2. да наверно тоже не подойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:32:45 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
вот так можно Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:40:43 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
vkodorвот так можно Код: plaintext 1. 2. 3. 4. 5. А где указывается какая именно ячейка пересчитывается и какой столбец она обсчитывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:50:40 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев vkodorвот так можно Код: plaintext 1. 2. 3. 4. 5. А где указывается какая именно ячейка пересчитывается и какой столбец она обсчитывает? Target - это изменяемая ячейка или диапозон ячеек For Each rng In Target - пробег по всему Target-у rng.Column - определение столбца Columns(rng.Column).Calculate - пересчет определенного столбца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:56:43 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев Во всей этой проблеме важно где-то хранить историю “обнулений”. Ее можно хранить в переменной (или массиве) и использовать при расчетах. Но этот способ плох своей непрозрачностью. Мне подумалось, что лучшим в этом смысле будет вариант хранения истории “обнулений” в ячейке листа. При этом в ячейку записывать значение обнуленных ячеек на последний момент до их обнуления. Тогда достаточно к сумме по диапазону, с которым мы работаем просто добавить значение этой ячейки. Кроме того, в любой момент можно обнулить и саму историю “обнулений”. В аттаче пример, в ктором расчет ведется по диапазону "A1:A6", история пишется в ячейку "A8", итог подсчитывается в "A10". В модуле класса листа “Лист1” обработчик события Worksheet_Change. Добраться до него можно кликнув правой кнопой по ярлыку листа и выбрав пункт “Исходный текст” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:04:55 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
lena_####Максим Моисеев Во всей этой проблеме важно где-то хранить историю “обнулений”. Ее можно хранить в переменной (или массиве) и использовать при расчетах. Но этот способ плох своей непрозрачностью. Мне подумалось, что лучшим в этом смысле будет вариант хранения истории “обнулений” в ячейке листа. При этом в ячейку записывать значение обнуленных ячеек на последний момент до их обнуления. Тогда достаточно к сумме по диапазону, с которым мы работаем просто добавить значение этой ячейки. Кроме того, в любой момент можно обнулить и саму историю “обнулений”. В аттаче пример, в ктором расчет ведется по диапазону "A1:A6", история пишется в ячейку "A8", итог подсчитывается в "A10". В модуле класса листа “Лист1” обработчик события Worksheet_Change. Добраться до него можно кликнув правой кнопой по ярлыку листа и выбрав пункт “Исходный текст” Супер Лена то что надо .... только у меня еще один наверное для тебя "идиотский" вопрос.... А как твои настройки поставить мне? макроса я там не увидел, да и формул тоже..((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:14:25 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев lena_####Максим Моисеев Во всей этой проблеме важно где-то хранить историю “обнулений”. Ее можно хранить в переменной (или массиве) и использовать при расчетах. Но этот способ плох своей непрозрачностью. Мне подумалось, что лучшим в этом смысле будет вариант хранения истории “обнулений” в ячейке листа. При этом в ячейку записывать значение обнуленных ячеек на последний момент до их обнуления. Тогда достаточно к сумме по диапазону, с которым мы работаем просто добавить значение этой ячейки. Кроме того, в любой момент можно обнулить и саму историю “обнулений”. В аттаче пример, в ктором расчет ведется по диапазону "A1:A6", история пишется в ячейку "A8", итог подсчитывается в "A10". В модуле класса листа “Лист1” обработчик события Worksheet_Change. Добраться до него можно кликнув правой кнопой по ярлыку листа и выбрав пункт “Исходный текст” Супер Лена то что надо .... только у меня еще один наверное для тебя "идиотский" вопрос.... А как твои настройки поставить мне? макроса я там не увидел, да и формул тоже..((( Да моя аська 231178995 .... так будет быстрее заранее спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:15:07 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
добрался ...Лена ...еще раз спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:19:03 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
“Настроек” там всего две: диапазон, изменения в котором отслеживаются и ячейка, в которую пишется “история”. 1. Где “живет” макрос. Макрос “живет” в модуле класса “Лист1”. Чтобы до него добраться нужно или Сервис > Макрос > Редактор Visual Basic или Alt+F11 В открывшемся окне редактора ищем VBAProject(02.xls), и в древе компонентов проекта ищем Лист1(Лист1). Второй вариант уже озвучен: кликнуnm правой кнопкой по ярлыку листа и выбрав пункт “Исходный текст” 2. Как изменить “настройки” В коде ищем строку Код: plaintext В коде ищем строку Код: plaintext 3. Где “живет” формула. В моем примере в ячейке "A10" формула = СУММ(A1:A6) + A8 которую и нужно поменять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:35:19 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Лена привет... сделал вот так .... Private Sub Worksheet_Change(ByVal Target As Range) Dim v_Rng As Range, v_Cell As Range Static v_Sum As Double Set v_Rng = Range("M4:M22") If Intersect(v_Rng, Target) Is Nothing Then Exit Sub Else For Each v_Cell In Target If v_Cell = 0 Then Range("M24") = Range("M24") + v_Sum - WorksheetFunction.Sum(v_Rng) Exit For End If Next v_Sum = WorksheetFunction.Sum(v_Rng) End If End Sub и не работает не понимаю почему...(( не выдает историю((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:35:53 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Лена привет...Формула не срабатывает потому как я не вручную меняю цифры в слобце, а они обсчитываются, если же я меняю вручную ...то в сумме столбца ваабще глюк происходит, в приложении мой файл.... может глянешь спасибо....столбец М4:M22 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:45:55 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим МоисеевЛена привет...Формула не срабатывает потому как я не вручную меняю цифры в слобце, а они обсчитываются, если же я меняю вручную ...то в сумме столбца ваабще глюк происходит, в приложении мой файл.... может глянешь спасибо....столбец М4:M22 Совсем забыл, изменяемый параметр "текущая цена"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 18:48:21 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев А где всеже нужно отслеживать обнуление? В поле "цена контракта текущая", "общее изменение от сделки", и там и там, или где-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 19:18:07 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
lena_####Максим Моисеев А где всеже нужно отслеживать обнуление? В поле "цена контракта текущая", "общее изменение от сделки", и там и там, или где-то еще? Изменяемый параметр в таблице это - текущая цена, при условии текущей цены меньше или равно цены закрытия, параметр общее изменение от сделки (пункты) обнуляется, и вот когда он обнуляется то надо сделать чтобы сумма внизу писала историю, как вы уже и делали. А этого почему то не происходит.... Что думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 20:24:41 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев lena_####Максим Моисеев А где всеже нужно отслеживать обнуление? В поле "цена контракта текущая", "общее изменение от сделки", и там и там, или где-то еще? Изменяемый параметр в таблице это - текущая цена, при условии текущей цены меньше или равно цены закрытия, параметр общее изменение от сделки (пункты) обнуляется, и вот когда он обнуляется то надо сделать чтобы сумма внизу писала историю, как вы уже и делали. А этого почему то не происходит.... Что думаете? Как только параметр - текущая цена становиться больше или равно цены открытия то параметр общее изменение от сделки опять показывает некое число.... которое надо продолжать обсчитывать.... вот так оно и работает.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 20:31:15 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Максим Моисеев Это Вам: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 00:12:45 |
|
||
|
подскажите как в Exel сделать счетчик... очень надо
|
|||
|---|---|---|---|
|
#18+
Лена огромное СПАСИБО, вы помогли мне решить часть моей задачи, пока буду налаживать потихоньку дальше. У меня только один вопрос, остался, а почему ваш файл весил меньше моего изначального мой весил 57 КБ, а ваш 47 КБ вы что то убрали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 11:26:15 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34226084&tid=2183706]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 299ms |

| 0 / 0 |
