Добрый день форумчане! Помогите пожалуйста с цепочкой задач...
1) нужен макрос, который будет брать список отфильтрованных значений с листа, 2) добавить в этот список количество(Ngrno) из файла (groupno.txt) (именно добавить новые значения, т.к. в списке из листа и файла могут содержаться одинаковые значения) 3) сделать их уникальными 4) из файла (groupno.txt) эти значения удалить 5) и записать это все в файл (group.txt) 6) макрос нужно запустить, и он должен повторять действия каждые * минут(значение из ячейки c1) 7) если возможно - то нужно сделать возможность по нажатию на кнопку прекратить выполнение макроса.
Помогите пожалуйста, часть сделал, дальше что-то не получается придумать, да и уникальные значения так себе работают мне кажется...
Добрый день форумчане! Помогите пожалуйста с цепочкой задач...
1) нужен макрос, который будет брать список отфильтрованных значений с листа, 2) добавить в этот список количество(Ngrno) из файла (groupno.txt) (именно добавить новые значения, т.к. в списке из листа и файла могут содержаться одинаковые значения) 3) сделать их уникальными 4) из файла (groupno.txt) эти значения удалить 5) и записать это все в файл (group.txt) 6) макрос нужно запустить, и он должен повторять действия каждые * минут(значение из ячейки c1) 7) если возможно - то нужно сделать возможность по нажатию на кнопку прекратить выполнение макроса.
Помогите пожалуйста, часть сделал, дальше что-то не получается придумать, да и уникальные значения так себе работают мне кажется...lFJl
Да, уники не совсем корректны. 1as при использованном алгоритме не попадет, т.к. его отсеет наличие 321asd. Для уник используйте Scripting.Dictionary. Или обрамляйте вставки в res неиспользуемый символ [vba]
Код
res = res & "@" & Cells(i, GColl).Value & "@" & vbNewLine
[/vba] , который потом подстановкой удалите из res [vba]
Код
res = Replace(res, "@", "")
[/vba] тогда проверка сработает четко: [vba]
Код
If res Like "*@" & Cells(i, GColl).Value & "@*" = False Then
[/vba]
Для запуска по времени можно использовать OnTime Для запуска: [vba]
Код
cells(1,5).value = Now + cells(1,3).value Application.OnTime cells(1,5).value, "my_Procedure"
Да, уники не совсем корректны. 1as при использованном алгоритме не попадет, т.к. его отсеет наличие 321asd. Для уник используйте Scripting.Dictionary. Или обрамляйте вставки в res неиспользуемый символ [vba]
Код
res = res & "@" & Cells(i, GColl).Value & "@" & vbNewLine
[/vba] , который потом подстановкой удалите из res [vba]
Код
res = Replace(res, "@", "")
[/vba] тогда проверка сработает четко: [vba]
Код
If res Like "*@" & Cells(i, GColl).Value & "@*" = False Then
[/vba]
Для запуска по времени можно использовать OnTime Для запуска: [vba]
Код
cells(1,5).value = Now + cells(1,3).value Application.OnTime cells(1,5).value, "my_Procedure"
Perfect2You, Спасибо! со временем разобрался, круто! (файл прикрепил, что получилось) С униками завтра разберусь, думаю осилю, или другой метод подберу. можете еще подкинуть идею по 2, 4 пункту?
Perfect2You, Спасибо! со временем разобрался, круто! (файл прикрепил, что получилось) С униками завтра разберусь, думаю осилю, или другой метод подберу. можете еще подкинуть идею по 2, 4 пункту?lFJl