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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2011, 12:31   #1
kuperfbi
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 17
По умолчанию Макрос не успевает пересчитывать данные

Добрый день. Проблемка след.характера (Excel 2003): есть достаточно большой массив с информацией по продукции (по цехам).
Массив пересчитывается по F9 (40 сек.) с выводом результатов в столбец B и последующим копированием значений в таблицу результатов. Пересчитывать нужно несколько раз для разных цехов. То есть, выбирается цех-пересчет-скопировать значения в другой столбец.
И по-новому.
Решил это дело написать с помощью макроса, результативная таблица заполняется, но только данными по последнему цеху. То есть ощущение, что при выполнении макроса просто не до конца выполняется пересчет данных. Можно как-то помочь делу? Спасибо!

Уточнение: при выполнении с меню "Сервис" макрос идет корректно, при выполнении с кнопки - засада. В кнопку выполнял копированием через конструктор (через буфер обмена) - может некорректно?

Кусок кода:
Код:
Range("P2").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C"
    Range("P3").Select
    ActiveCell.FormulaR1C1 = "7"
    Range("P4").Select
    Calculate
    Range("B3:B24").Select
    Selection.Copy
    Range("D3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B28:B49").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D28").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=24
    Range("B53:B74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=24
    Range("B79:B100").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D79").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-87
    Range("P3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "8"
    Range("P3").Select
    Calculate
    Range("B3:B24").Select
    Selection.Copy

Последний раз редактировалось kuperfbi; 01.07.2011 в 13:15.
kuperfbi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос, вытащить данные и расставить по местам kzld Microsoft Office Excel 25 06.01.2013 09:11
Данные из закрытой книги. Подправить макрос maragva Microsoft Office Excel 0 30.01.2011 14:51
Макрос: Обновить данные в документа Word Alex9k Microsoft Office Word 0 22.07.2010 16:12
Не успевает разлочиться клипборд Alex Cones Общие вопросы Delphi 9 19.05.2010 17:09
Проблема, не успевает удалится файл Lonix Общие вопросы Delphi 6 07.04.2007 17:32