Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2013, 22:46   #1
4anae6
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию Запуск макроса Без кнопки

Добрый вечер.

Хотелось бы узнать как можно запускать макросы автоматически, без кнопки? Нажатием F5 в режиме работы в VBA уже умею. Имеется следующий пример:

Sub SadikShkola()

If Cells(1, 1).Value <= 7 Then
Cells(1, 2).Value = "Sadik"
Else
Cells(1, 2).Value = "Shkola"
End If

End Sub

Заранее спасибо.
4anae6 вне форума Ответить с цитированием
Старый 25.03.2013, 23:03   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Используйте события листа. Правый клик на ярлычке листа - Исходный текст, вставьте
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
SadikShkola
Application.EnableEvents = True
End Sub
Макрос будет вызываться каждый раз, когда происходит изменение ячеек листа (но не пересчет формул).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 25.03.2013, 23:09   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

правой кнопкой по закладке (ярлыку листа с данными) "Исходный текст", вставляете это:
Код:
Private Sub Worksheet_Change(ByVal Target as Range)
  if target.address <> "$A$1" then exit sub
  Cells(1, 2).Value = iIf (Cells(1, 1).Value <= 7, "Sadik", "Shkola")
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 25.03.2013 в 23:11.
IgorGO вне форума Ответить с цитированием
Старый 25.03.2013, 23:41   #4
4anae6
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

Спасибо за ответы. К сожалению ни один из вариантов не работает. Я не программист и скорее всего просто что-то не так делаю. Как нужный мне программный код будет выглядеть от начала и до конца или как правильно занести туда занести то, что вы мне написвли?
4anae6 вне форума Ответить с цитированием
Старый 26.03.2013, 00:13   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

у меня приведен полный код, в коде Леши подрузумевается использование и Вашей процедуры. ее можно расположить в том же модуле
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.03.2013, 00:39   #6
4anae6
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

Я и так пытался сделать, заменяю свой макрос на Вами предоставленный и тогда он совсем пропадает из списка макросов. Доработайте, пожалуйста, если это возможно. Благодарю заранее.
Вложения
Тип файла: rar test makrosov - Copy.rar (15.6 Кб, 7 просмотров)
4anae6 вне форума Ответить с цитированием
Старый 26.03.2013, 02:37   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Зачем вам макрос?

Вполне достаточно обычной формулы:

Код:
  Ячейка: B1      Формула  (стиль A1):   =ЕСЛИ(A1<=7; "Sadik";"Shkola")
                  Формула  (стиль R1C1): =ЕСЛИ(RC[-1]<=7; "Sadik";"Shkola")
EducatedFool вне форума Ответить с цитированием
Старый 26.03.2013, 08:30   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Кросс: http://www.excel-vba.ru/forum/index.php?topic=2036.0
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 26.03.2013, 14:39   #9
4anae6
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

to IgorGo & Казанский
Спасибо, попробую и так и так

to EducatedFool

Да в самом Экселе я такие штуки умею делать, я просто привел простейший пример. Скрыть строки или столбцы, допустим, так не получится. Интересовала процедура запуска.

to kuklup

Надо было подстраховаться. Я выложил данную тему на 3 первых форумах программистов найденных через поисковик.
4anae6 вне форума Ответить с цитированием
Старый 26.03.2013, 14:42   #10
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от 4anae6 Посмотреть сообщение
to kuklup
Это я не Вам. Я форумчанам.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск макроса! sa920 Microsoft Office Excel 2 09.05.2012 01:40
Запуск макроса kaa1977 Microsoft Office Excel 5 12.04.2011 10:44
Запуск макроса Gvaridos Microsoft Office Excel 4 22.11.2010 11:35
Запуск макроса serafim09 Microsoft Office Excel 9 03.09.2009 16:55
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43