| | AizecVHA 
 Newbie
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброго времени суток всем присутствующим.
 Кто-нибудь может помочь с такой проблемкой:
 Есть две книги file1 и file2, каждая с двумя столбцами, первый из которых это идентификатор, второй - значения; вобщем надо значения из первой книги переместить во вторую (при совпадении ячеек из первого столбца). Я использовал следующий макрос, но работает он крайне медлено при большом количестве строк(понятно, при прямом переборе то). Вообщем, как можно более эффективно и быстрее это сделать?
 
 Код:
 | While Workbooks(file2).Worksheets("List").Cells(i, 1).Value <> "" current = Workbooks(file2).Worksheets("List").Cells(i, 1).Value
 j = 1
 flag = False
 Do While Workbooks(file1).Worksheets("List").Cells(j, 1).Value <> ""
 If Workbooks(file1).Worksheets("List").Cells(j, 1).Value = current Then
 flag = True
 Exit Do
 End If
 j = j + 1
 Loop
 If flag = True Then
 Workbooks(file2).Worksheets("List").Cells(i, 2).Value = Workbooks(file1).Worksheets("List").Cells(j, 2).Value
 Workbooks(file2).Worksheets("List").Cells(i, 2).Interior.Color = RGB(0, 255, 0)
 End If
 i = i + 1
 Wend
 
 | 
 
 
 Цитата:
 | Подскажите, а можно задать время на выполнение операции? Например, хочу чтоб выделение ячеек происходило с интервалом 1 сек...
 Если просто написать макрос, так он выделит диапазон в 1000 ячее и больше за сек...
 | 
 Наверное можно просто приостанавливать выполнения скрипта на определенный промежуток времени.
 Т.е. вставить в тело макроса команду.
 
 Application.Wait Time:=Now + TimeValue("0:00:1")
 
 
 
 
 |  | Всего записей: 5 | Зарегистр. 18-11-2008 | Отправлено:  15:07 23-11-2008  | Исправлено: AizecVHA,   15:19 23-11-2008
 | 
 |