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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.06.2008, 01:59   #31
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
1) Т.к. при отключении обработки всех событий Excel у Вас то скорее всего речь идет не о формуле в зависимой ячейке, а об обработке события по изменению значения ячейки.
SAS
Я конечно, ни чего не понял, предлагаю, взглянуть, там модуль2, макрос Очистка, в нем, все коменты.
Пара слов для чего это все.
Дело в том, что когда заканчивается месяц, я готовлю, следующий, а для этого надо очистить все данные, Делаю в ручную, выделяю все 13 листов и в соответствующие ячейки ввожу нули, копирую и в следующий день ......Почти всегда забывая, что первые восемь листов, отличаются от других, пять, вообщем мороки, хватает.
Вот я и подумал, создам макрос Очистка, вызвав его стандартными процедурами, что бы исключить случайность.

Теперь о дате. Ввод даты находится в листе "ЛЕН" в А3, далее с шагом 48 =A3+1 и т. д., все остальные листы привязаны к =ЛЕН!A3....
Но в макросе книги есть цикл даты, где конечное число надо править в ручную, конечно я забываю о нем и только в конце месяца, когда последний день не работает, я переделываю...
Сейчас сделал так, где A1443 последняя яч. 31 дневного месяца, конечно, февраль, надо править в ручную

dt = CLng(Left(Range("A1443"), 2))
If dt < 31 Then dt = 30
For iCount& = 1 To dt

Вот почему, я говорил о имени файла
Вложения
Тип файла: rar Очистка.rar (216.3 Кб, 11 просмотров)
valerij вне форума
Старый 17.06.2008, 10:10   #32
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Так и не понял, нужно ли обнулять диапазоны "F3:F37", "H3:H37", "K3:K37" и далее с шагом 48. Посмотрите вложение. По поводу даты - в коде есть комментарий. Может что не так? Или что не работает как надо? Серьезного тестирования я не проводил.
P.S Имя файла изменено для предотвращения возможной ошибки при варианте с вычислением последнего дня месяца по имени файла.
Вложения
Тип файла: rar Май.rar (211.0 Кб, 10 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 17.06.2008, 11:44   #33
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Так и не понял, нужно ли обнулять диапазоны "F3:F37", "H3:H37", "K3:K37" и далее с шагом 48
Нужно и обязательно, еще толком не смотрел, бо с температурой, долго не высижу
valerij вне форума
Старый 17.06.2008, 11:53   #34
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Тогда так.
Вложения
Тип файла: rar Май.rar (211.0 Кб, 17 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 17.06.2008, 12:17   #35
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Тогда так.
Ага, ОК!
Только не работает ввод данных, ввожу в D3 число в любом листе, результата в F3:F37", "H3:H37", "K3:K37" -НЕТ

Но с этим я разбирусь
SAS
Спасибо, все работает.

Последний раз редактировалось valerij; 17.06.2008 в 12:44.
valerij вне форума
Старый 17.06.2008, 12:47   #36
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Нашел! В модуле "Эта книга", в коде обработки события Workbook_SheetChange, в строке
Код:
For iCount& = 1 To Day(DateSerial(Year(d), Month(d) + 1, 1) - 1)
замените iCount& = 1 на iCount& = 0, т.к. следующая строка
Код:
With Sh.Range("B3:B37,D3:K47").Offset(iCount& * 48)
сразу даст смещение, проигнорировав строки с 3 по 37.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 17.06.2008, 12:57   #37
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Нашел! В модуле "Эта книга"
Понял! Замена приводит к какому-то длительному процессу т. е. сумма выскачила и пошел чето делать
А яч. А6, она у вас во всех циклах?
Ей надо 8 первых листов и шаг 48 не надо, но удивительно, там, А54......, нулей нет
Возможно, что ячейка защищена?

Последний раз редактировалось valerij; 17.06.2008 в 13:11.
valerij вне форума
Старый 17.06.2008, 13:07   #38
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Не экономьте слова!
1) Ячейка "A6" обнуляется только в первых 8-ми листах.
2) Шаг ей по барабану, т.к. к ней явное обращение ("выдергивать будет еще дольше).
3) Что про А54...? Где нет нулей?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 17.06.2008, 13:18   #39
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Не экономьте слова!
2) Шаг ей по барабану, т.к. к ней явное обращение ("выдергивать будет еще дольше).
Уже Все увидел, все правильно!
Повторюсь
Замена "iCount& = 1 на iCount& = 0" приводит к какому-то длительному процессу т. е. ввожу число в D, сумма выскачила и пошел чето делать

Последний раз редактировалось valerij; 17.06.2008 в 14:12.
valerij вне форума
Старый 17.06.2008, 14:22   #40
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А Вы обратили внимание на другие изменения в коде? Там, в частности, передвинуты строки, запрещающие обработку событий в самое начало.
По крайней мере, у меня последний вариант (см. пост № 34) работает "влет".
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MsSQL - первый раз установил майкрософт SQL vados SQL, базы данных 16 19.07.2008 20:01
Первый баг (фото) mutabor Свободное общение 1 06.05.2008 11:51
Вроде на первый взгляд всЁ просто...... Solny6ko YasnoE Помощь студентам 4 17.09.2007 08:23
а первый взгляд просто.. Аlex Win Api 7 05.04.2007 18:34
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50