Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2009, 11:15   #11
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так что ж ответить, если сказать по существу нечего?!

Вы знаете, какую Вы делаете ошибку?
вместо того, чтобы чётко сформулировать задание - что, куда и в каком случае переписывается, Вы пытаетесь заставить работать макрос. (причём, надо отметить - жуткий макрос почему жуткий? потому что в нём жестко заданы константы - начала диапазона, конец диапазона и т.д. и т.п. поэтому добавление строки, удаление строки могут привести к самым разнообразным последствиям, вплоть до полной нераспособности всего макроса!

[Добавлено]
и ещё, в книге kassa_2009.xlsm у Вас
два макроса: kassakredit01() и kassadebet01() — Вы какой из них терзаете?
Нет, не знаю. Прошу указать.
ДА, макрос чужой. Пытаюсь использовать его для решения моей задачи.
>kassakredit01()
работает так как надо. может потому что там мало значений
>kassadebet01()
Работает неправильно
kzld вне форума Ответить с цитированием
Старый 21.07.2009, 14:45   #12
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от kzld Посмотреть сообщение
Нет, не знаю. Прошу указать.
ДА, макрос чужой. Пытаюсь использовать его для решения моей задачи.
>kassakredit01()
работает так как надо. может потому что там мало значений
>kassadebet01()
Работает неправильно
28 человек просматривают форум, неужели не найдётся хотя бы один гуру excel`a кто ответит на мой вопрос. Почему макрос пропускае некоторые строки
kzld вне форума Ответить с цитированием
Старый 22.07.2009, 21:36   #13
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

kzld, прошу прощения за долгое молчание. Макрос подправил, должно работать.

Г-н Serge_Bliznykov, есть хорошее правило: критикуешь - предлагай. И ещё, давно в Американских барах над тапёрами висел плакат: "НЕ СТРЕЛЯЙТЕ В ПИАНИСТА, ОН ИГРАЕТ, КАК УМЕЕТ".
Вложения
Тип файла: rar kassa_2009.rar (62.3 Кб, 11 просмотров)
pivas вне форума Ответить с цитированием
Старый 23.07.2009, 06:26   #14
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от pivas Посмотреть сообщение
kzld, прошу прощения за долгое молчание. Макрос подправил, должно работать.

Г-н Serge_Bliznykov, есть хорошее правило: критикуешь - предлагай. И ещё, давно в Американских барах над тапёрами висел плакат: "НЕ СТРЕЛЯЙТЕ В ПИАНИСТА, ОН ИГРАЕТ, КАК УМЕЕТ".
Спасибо, работает. К сегодняшнему дню я правда уже и сам "допетрил" , но всё равно СПАСИБО. Вынести кнопки ДЕБЕТ и КРЕДИТ наверх интересное решение. Но столкнулся со следующей задачей:
Я специально сделал по 5 раз каждый день (в столбце А), однако в последующих месяцах обнаружилось 6 операций за один день. А значит 6 операция не прописалась на положенное ей место. Делать каждый день по 10 позиций - неоправданный рост файла. Вот если б Excel`y дать задание при наступлении подобного случая добавлять строку или хотя бы выводить предупреждение - было бы отлично.
Файл с примером приложен.
Вложения
Тип файла: rar kassa_2009-01.rar (62.0 Кб, 13 просмотров)
kzld вне форума Ответить с цитированием
Старый 23.07.2009, 10:19   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

[сорри за оффтоп...]

pivas, так разве я критиковал? я наоборот, попытался помочь... А чтобы заменить код вида
For i = 3 To 500
If .Cells(i, 5).Value <> 451 Then GoTo 10
For k = 9 To 169
нужно понимать, что означают цифры 3, 500, 9, 169 и т.д....
Поэтому и просил нормальное ТЗ
Хотя, вижу, что некоторым всё же удалось разобраться в алгоритме...

а вообще я с Вашим замечанием полностью согласен.


Цитата:
Сообщение от kzld
Я специально сделал по 5 раз каждый день (в столбце А), однако в последующих месяцах обнаружилось 6 операций за один день. А значит 6 операция не прописалась на положенное ей место. Делать каждый день по 10 позиций - неоправданный рост файла.
kzld, Вы поймите, смысл моего поста и заключался как раз в том, что, прежде чем программировать, нужно чётко сформилировать задачу, определить обрабатываемые данные (исходный диапазон), при этом надо постараться найти условия, по которым можно этот диапазон выделить. и учесть, что сегодня он один, завтра другой (сегодня 5 операций, а завтра 20, а послезавтра - одна.. нужно, чтобы макрос обрабатывал без привязки к конкретным строкам...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.07.2009, 00:00   #16
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Приветствую, kzld. Со вставкой строк повозиться можно, но хочу предлжить другой вариант. Правда одно условие всё же надо соблюдать: на листе в книге kassa рабочих строк должно быть не меньше, чем в allwork.
Вложения
Тип файла: rar kassa_2009-01.rar (62.0 Кб, 15 просмотров)
pivas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"а" и "б" не хотят посчитаться, помогите мне их посчитать) Лука Microsoft Office Excel 5 10.12.2010 02:43
Помогите пожайлуста найти, кто человек "вконтакте", зная его "мэйл" Аксюнька1990 Помощь студентам 1 12.06.2009 06:16
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Макрос "дописывает" не нужные параметры DrManual Microsoft Office Word 4 20.02.2009 17:25
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51