Страницы: 1
RSS
Запуск макроса в зависимости от значения + цикл
 
Добрый день. Друг попросил помочь, а я мало того что забыл, да еще и не особо знал))
Допустим есть диапазон на листе1 b2:b9
на нем из выпадающей строки выбираются текстовые значения - методы(каждому методу будет соответствовать макрос, методов будет штук 20, ну или около того)
далее требуется пройти по каждой ячейке и позапускать макросы согласно значению
но что то я делаю не так.
Скорее всего строки
If Value = "ГГКц" Then ГГКц
If Value = "ГК,ЛМ" Then Application.Run ("!Акт-заказ.xlsb!Module1.ГК_ЛМ")
Код
Sheets("Старт").Activate
For Counter = 2 To 9
 Set curCell = Worksheets("Старт").Cells(Counter, 2)
 If Value = "ГГКц" Then ГГКц
 If Value = "ГК,ЛМ" Then Application.Run ("!Акт-заказ.xlsb!Module1.ГК_ЛМ")
 Next Counter

Я думал для каждого метода прописать If... Then.... где "ГГКц", "ГК,ЛМ" это методы/макросы..
т.е. простыми словами на лист итоговый акт вставляются по порядку таблички, согласно их последовательности в b2:b9
 
mihail_ms, здравствуйте
Не понял, в чём вопрос/затруднения…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Может так
Код
If curCell.Value = "ГГКц" Then ГГКц
 
Jack Famous, как прописать в макросе,  да еще запхнуть это в цикл

Если значение в ячейке = "такое то", то запустить макрос "такой то",   причем значений и макросов штук  будет
 
 МатросНаЗебре, Вроде Оно, по крайней мере стало заполнять таблицу. Спасибо, буду юзать
 
mihail_ms, учтите, что
Цитата
МатросНаЗебре: If curCell.Value = "ГГКц" Then ГГКц
не сработает в цикле, там только через Run (ссылка)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Сработало без Run. Куда-то не туда смотрю?
Код
Sub test()
    Dim i As Byte
    For i = 1 To 3
        If Cells(i, 1).Value = "ГГКц" Then ГГКц
    Next
End Sub

Sub ГГКц()
    Debug.Print Now, "ГГКц"
End Sub
 
Цитата
МатросНаЗебре: Куда-то не туда смотрю?
кто-то из нас  :D
Я имел ввиду (по ссылке тоже), что имя макроса в цикле таким образом не передать/сформировать (чтобы запускать различные макросы по имени)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Спасибо вроде работает. Наверняка делаю криво/колхозно т.к. в каждом проходе проверяю каждое совпадения, а их будет 20шт, наверное можно сделать изящнее , но вроде работает, да и не тысячи строк поди...
Код
If Value = "ГГКц" Then ГГКц 
If Value = "ГГКц1" Then ГГКц1 
If Value = "ГГКц2" Then ГГКц2 
 Next Counter
 
Код
Application.Run "'" & ThisWorkbook.Name & "'!'" & curCell.Value    
Можно так. Но так не выполняется проверка значений. Если макроса не будет, будет ошибка.
Страницы: 1
Наверх