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

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

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

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

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

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

Цитата:
Сообщение от VictorM Посмотреть сообщение
А насчет алгоритма - надо разобраться.
Попробуй, пожалуйста, попробуй!
valerij вне форума
Старый 27.05.2008, 22:45   #112
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

valerij
Цитата:
Попробуй, пожалуйста, попробуй!
да я тут уже просмотрел, то что выкладывал - удаление1.xls
.
Если Вы ничего не модифицировали, виснуть там нечему.
Да и алгоритм быстрее и проще чем Вы предлагаете.
Вообще-то, в таких случаях, сложный макрос нужно разбить на части и "обкатывать" каждую процедуру отдельно. А потом уже "собирать" их под "одну кнопочку".
1. Собирает сумму отрицательных чисел
Код:
For i = 1 To 30
                iSum = ActiveCell.Value
                If iSum < 0 Then zSum = zSum + iSum
                ActiveCell.Offset(48, 0).Activate
            Next i
        Range("I1500").Value = zSum
2. Копирует все ячейки накладных на лист НАКЛ. (Здесь присутствуют незначительные тормоза из-за Sheets("НАКЛ").Activate и Sheets(iList.Index).Activate)
Код:
 For i = 1 To 31
        Range(ActiveCell, ActiveCell.Offset(5, 0)).Copy
        ActiveCell.Offset(48, 0).Activate
        Sheets("НАКЛ").Activate
        ActiveSheet.Paste
        ActiveCell.Offset(6, 0).Activate
        Sheets(iList.Index).Activate
    Next i
3. Удаление пустых ячеек на листе НАКЛ.
Код:
Range("A2:A3000").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Не видя Ваш конкретный вариант не могу сказать, что там у Вас происходит.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 27.05.2008, 23:18   #113
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
[Не видя Ваш конкретный вариант не могу сказать, что там у Вас происходит.
Да все без изменений как в удаление1.xls

А че мой вариант, он сразу копирует, ничего не очищает, ни чего не сдвигает, так же просматривает диапазон, причем не весь, а только, до первого нуля ибо после нуля нет смысла просматривать

Я вообще не могу понять "поведение" Вашего макроса, на моем 2-яд. -первый запуск -5 мин., второй запуск - 20 сек, третий запуск 35 сек., секундомером замерял.

В офисе, тот же файл, первый запуск 2,5 мин., второй -тоже.
Ввожу еще 84 №-ра, все, как зациклелся, вот бы индикатор какой нибудь, хотя бы временно.

Вот я изменл, только один лист
iListNames = Array("ЛЕН")
Запуск -44 сек и 78 № скопировал в НАКЛ

Последний раз редактировалось valerij; 27.05.2008 в 23:37.
valerij вне форума
Старый 27.05.2008, 23:31   #114
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Я вообще не могу понять "поведение" Вашего макроса
да вроде ж уже все разжевано.

Я повторно выкладываю файл, у меня макрос работает ровно 4 сек.
Вложения
Тип файла: rar удаление1.rar (252.3 Кб, 35 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 27.05.2008, 23:48   #115
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
да вроде ж уже все разжевано.
Ни чего не понимаю, вот, попробуй, в НАКЛ, кн. ПОИСК, и засекай время.
Вложения
Тип файла: rar M.rar (244.2 Кб, 19 просмотров)
valerij вне форума
Старый 28.05.2008, 00:35   #116
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Что ж Вы батенька голову морочите.
Говорим об одном, делаете другое.
У Вас кнопкой запускаются две процедуры. Не разобрался пока, что делает CompData, но для начала поменяйте местами запуск. (Кстати, чтобы разобраться где трабла, позапускайте их поотдельности).Сначала Run "CompData", затем Run "ВыбратьНакладные".
Это по поводу
Цитата:
он сразу копирует, ничего не очищает, ни чего не сдвигает
Затем, работа поотдельности:
Run "CompData" - 3-4 сек.
Run "ВыбратьНакладные" - 4-5 сек.
Все вместе - 7-8 сек. Время чисто по часам, поэтому конечно неточно. Но это уже не принципиально. У меня кстати тоже 2-х ядерник.
***
Проверил еще сейчас на 1.8 ГГ обычный
работа поотдельности:
Run "CompData" - 8-9 сек.
Run "ВыбратьНакладные" - 12-15 сек.
Все вместе - 22-25 сек.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 28.05.2008 в 00:40.
VictorM вне форума
Старый 28.05.2008, 00:52   #117
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
У Вас кнопкой запускаются две процедуры. Не разобрался пока, что делает CompData, но для начала поменяйте местами запуск.
Местами их менять нельзя ибо CompData сверяет в листе НАКЛ, столбец А с С, а что бы в А были данные сначала запускаю Ваш макрос.

Пробовал так ничего не менял в "удаление1", но заполнил все даты, получилось 1181 строка и время 2 мин 30 сек
valerij вне форума
Старый 28.05.2008, 01:01   #118
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Местами их менять нельзя ибо CompData сверяет в листе НАКЛ, столбец А с С, а что бы в А были данные сначала запускаю Ваш макрос.
тогда нужно подредактировать CompData (это по поводу форматирования, очистки и заливки). Когда запускаете два макроса подряд надо смотреть, что и как. Ща некогда разбираться.
Цитата:
время 2 мин 30 сек
чёт не то, долго.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 28.05.2008, 01:20   #119
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Значит так. Поверил еще раз Ваш файл М.
Все нормально работает. Чтобы очистить заливку столбца А, допишите в самом конце CompData Range("A2:A3000").Interior.ColorInd ex = xlNone 'очистить заливку'.
Вы говорили "не очищает" - все он очищает, только этого не видно. У Вас же для этого записано Application.ScreenUpdating = False. Кстати в конце нужно дописать Application.ScreenUpdating = True
Время работы макросов в файле М - 8-10 сек.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 28.05.2008, 01:21   #120
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
тогда нужно подредактировать CompData (это по поводу форматирования, очистки и заливки). Когда запускаете два макроса подряд надо смотреть, что и как. Ща некогда разбираться..
CompData работает Супер, что на офисном,.... А как два подряд?
Сначала один, потом пауза, MsgBox, а затем только второй, модули то разные.

Цитата:
чёт не то, долго.
Давай попробуем мой алгоритм, сотворить!
valerij вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление громкостью Jupiter Общие вопросы Delphi 2 29.06.2008 15:43
Управление голосом prizrak1390 Общие вопросы Delphi 2 24.06.2008 21:04
управление CD ROMom Cricket2007 Помощь студентам 4 16.06.2008 16:01
Управление приложениями voron29 Общие вопросы Delphi 1 14.03.2008 12:38
вопрос - проблема с форматированием prickly Microsoft Office Excel 2 14.11.2006 10:14