Макрос в Ексел
1 отговора
0 прегледа
Макрос в Ексел
Зададох си въпросът във форума за Байсик, ще го задам и тук:
Здравейте!
Налага ми се да направя следното:
Да обработвам когато се въвежда в клетка в определен лист. Реших да използвам функцията:
Private Sub Worksheet_Change(ByVal Target As Range)
дето се изпълнява, когато се променя клетката. До тук всичко е ОК! В същия лист трябва да променя клетка в в тялото на тази функция. И става еднаааа... Тя си се извиква автоматично за другата клетка и т.н. Демек зацикляне.
Пробвах да вдигна флаг и по този начин... ама нещо не ми харесва така... Нейде ми се беше мернало, че мога да спра действието на тази функция, поне докато си свърша работата..
Ако някой ме подсети поне къде в НЕТ-а да го видя, ще съм безкрайно благодарен.
Здравейте!
Налага ми се да направя следното:
Да обработвам когато се въвежда в клетка в определен лист. Реших да използвам функцията:
Private Sub Worksheet_Change(ByVal Target As Range)
дето се изпълнява, когато се променя клетката. До тук всичко е ОК! В същия лист трябва да променя клетка в в тялото на тази функция. И става еднаааа... Тя си се извиква автоматично за другата клетка и т.н. Демек зацикляне.
Пробвах да вдигна флаг и по този начин... ама нещо не ми харесва така... Нейде ми се беше мернало, че мога да спра действието на тази функция, поне докато си свърша работата..
Ако някой ме подсети поне къде в НЕТ-а да го видя, ще съм безкрайно благодарен.
Re: Макрос в Ексел
Не е здравословно да правиш цикъл с макрос
и клетки от таблицата. Ако идеята ти е да направиш итерация,
вземи си клетките от таблицата в променливи, направи си
итерациите (определен брой или до достигане на достатъчна
точност), а после върни клетките обратно в таблицата.
Можеш да закачиш процедурата на събитие - промяна на
определена ключова клетка (а не на цялата таблица), или
да си я стартираш с бутон.
Не бързай да подозираш лош умисъл - може да е обикновена глупост!
и клетки от таблицата. Ако идеята ти е да направиш итерация,
вземи си клетките от таблицата в променливи, направи си
итерациите (определен брой или до достигане на достатъчна
точност), а после върни клетките обратно в таблицата.
Можеш да закачиш процедурата на събитие - промяна на
определена ключова клетка (а не на цялата таблица), или
да си я стартираш с бутон.
Не бързай да подозираш лош умисъл - може да е обикновена глупост!