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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 21:23   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Сравнение двух диапазонов на предмет изменений

Добрый вечер, уважаемые форумчане!
При обработке файла раз в 20 минут необходимо отслеживать изменения, внесенные на рабочем листе за эти 20 минут. Грубо говоря, образ определенного диапазона листа после обработки сравнить с образом, созданным при предыдущей обработке, и если изменения были внесен - запустить процедуру. Ну и сохранить новый образ для сравнения после следующей обработки. Так понимаю, образ можно скопировать на отдельный лист, провести сравнение нужных диапазонов, ну и т.д. Вопрос такой, каким методом реализовать сравнение? Диапазон в принципе не большой А5:Z500.
Заранее спасибо!
strannick вне форума Ответить с цитированием
Старый 27.11.2012, 22:49   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго.
Если без отслеживания изменения форматов, шрифтов и т.д. и блокирована реакция на события то можно через массивы
Код:
Dim old()
Function Verify()
 Dim Curr(), i As Integer, j As Integer
 Curr = Cells(5, 1).Resize(495, 26).Value
 On Error GoTo Ex
 For i = 1 To 495
   For j = 1 To 26
     If old(i, j) <> Curr(i, j) Then
        ' выполняем необходимые действия
        GoTo Ex
       End If
    Next
  Next
Ex:
 old = Curr
 Application.OnTime Time + #12:20:00 AM#, "Verify"
End Function
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 29.11.2012, 00:42   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от Step_UA Посмотреть сообщение
Если без отслеживания изменения форматов, шрифтов и т.д. и блокирована реакция на события то можно через массивы
Совершенно верно. Работает. Последнюю строку отключил, запуск идет по отдельному таймеру. Быстро работает! Спасибо!!!
strannick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух диапазонов ячеек и выбор из них pavpin Microsoft Office Excel 2 05.09.2012 21:02
Сравнение 3-х диапазонов Severny Microsoft Office Excel 0 13.01.2012 12:23
Сравнение двух диапазонов и удаление совпадений Aniqa Microsoft Office Excel 5 20.07.2011 15:31
Сравнение двух таблиц с внесением изменений serglev Microsoft Office Excel 0 22.02.2011 11:23
Сравнение двух диапазонов и удаление совпадений ПОСТРОЧНО (доработка) pringls Microsoft Office Excel 2 26.01.2011 16:54