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 |
|