Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как макросом отключить модуль - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как макросом отключить модуль (Макросы/Sub)
Как макросом отключить модуль
perven Дата: Среда, 21.11.2018, 06:11 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброе утро. Подскажите если кто знает.
В файле xls - имеется два модуля с макросами.

Можно ли макросом - отключить второй модуль (сделать неактивным) ?
К сообщению приложен файл: 3137003.xls(46.5 Kb)
 
Ответить
СообщениеДоброе утро. Подскажите если кто знает.
В файле xls - имеется два модуля с макросами.

Можно ли макросом - отключить второй модуль (сделать неактивным) ?

Автор - perven
Дата добавления - 21.11.2018 в 06:11
sboy Дата: Среда, 21.11.2018, 09:03 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2236
Репутация: 631 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
А какова конечная цель? Второй макрос у Вас всегда не активен (не событийный), пока Вы его не вызовите (руками или программно из другого кода)
 
Ответить
СообщениеДобрый день.
А какова конечная цель? Второй макрос у Вас всегда не активен (не событийный), пока Вы его не вызовите (руками или программно из другого кода)

Автор - sboy
Дата добавления - 21.11.2018 в 09:03
boa Дата: Среда, 21.11.2018, 11:04 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
Здравствуйте,

нет.

но можно его удалить или очистить, или вообще к нему не обращаться




Сообщение отредактировал boa - Среда, 21.11.2018, 11:09
 
Ответить
СообщениеЗдравствуйте,

нет.

но можно его удалить или очистить, или вообще к нему не обращаться

Автор - boa
Дата добавления - 21.11.2018 в 11:04
Shylo Дата: Среда, 21.11.2018, 13:21 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 129
Репутация: 6 ±
Замечаний: 0% ±

Excel-2003; 2010
Закомментировать весь код ненужного модуля, вдруг когда-то пригодится.
 
Ответить
СообщениеЗакомментировать весь код ненужного модуля, вдруг когда-то пригодится.

Автор - Shylo
Дата добавления - 21.11.2018 в 13:21
Nic70y Дата: Среда, 21.11.2018, 20:49 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4941
Репутация: 1069 ±
Замечаний: 0% ±

Excel 2013
пусть первый макрос запишет например в [a1] букву ю
во втором макросе напишите
в начале[vba]
Код
    If [a1] <> "ю" Then
[/vba]в конце[vba]
Код
    End If
[/vba]


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)


Сообщение отредактировал Nic70y - Среда, 21.11.2018, 20:50
 
Ответить
Сообщениепусть первый макрос запишет например в [a1] букву ю
во втором макросе напишите
в начале[vba]
Код
    If [a1] <> "ю" Then
[/vba]в конце[vba]
Код
    End If
[/vba]

Автор - Nic70y
Дата добавления - 21.11.2018 в 20:49
perven Дата: Среда, 21.11.2018, 21:02 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Тогда такой вопрос.
Имеется код:
[vba]
Код

Sub Макрос1()
For i = 1 To 3
        ActiveWorkbook.VBProject.VBComponents(1).CodeModule.ReplaceLine i + 1, Range("E" & 17 + i)
    Next i
End Sub
[/vba]
Он по идее должен выполнять код - записанный как текст на листе.
Но он почему-то не срабатывает.
Как заставить его работать ?
К сообщению приложен файл: 2500064.xls(41.5 Kb)


Сообщение отредактировал perven - Среда, 21.11.2018, 21:06
 
Ответить
СообщениеТогда такой вопрос.
Имеется код:
[vba]
Код

Sub Макрос1()
For i = 1 To 3
        ActiveWorkbook.VBProject.VBComponents(1).CodeModule.ReplaceLine i + 1, Range("E" & 17 + i)
    Next i
End Sub
[/vba]
Он по идее должен выполнять код - записанный как текст на листе.
Но он почему-то не срабатывает.
Как заставить его работать ?

Автор - perven
Дата добавления - 21.11.2018 в 21:02
boa Дата: Среда, 21.11.2018, 21:23 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
perven,
во-первых вы пытаетесь изменить выполняющийся макрос. Это как пилить сук на котором сидишь.

во вторых вписываемый макрос не должен содержать ошибок. В вашем случае начинаться с sub и заканчиваться end sub.
и в третьих что бы делать реплэйс, надо иметь то, что меняем, т.е. строки, хотя бы пустые.
вот так работает, только добавьте в модуль2 пустые строки.
[vba]
Код
Sub Макрос1()
For i = 1 To 6
        ActiveWorkbook.VBProject.VBComponents(6).CodeModule.ReplaceLine i + 1, Range("E" & 15 + i)
    Next i
End Sub
[/vba]
К сообщению приложен файл: 8270154.jpg(50.4 Kb)




Сообщение отредактировал boa - Среда, 21.11.2018, 21:25
 
Ответить
Сообщениеperven,
во-первых вы пытаетесь изменить выполняющийся макрос. Это как пилить сук на котором сидишь.

во вторых вписываемый макрос не должен содержать ошибок. В вашем случае начинаться с sub и заканчиваться end sub.
и в третьих что бы делать реплэйс, надо иметь то, что меняем, т.е. строки, хотя бы пустые.
вот так работает, только добавьте в модуль2 пустые строки.
[vba]
Код
Sub Макрос1()
For i = 1 To 6
        ActiveWorkbook.VBProject.VBComponents(6).CodeModule.ReplaceLine i + 1, Range("E" & 15 + i)
    Next i
End Sub
[/vba]

Автор - boa
Дата добавления - 21.11.2018 в 21:23
perven Дата: Среда, 21.11.2018, 21:49 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
boa, все сделал как вы сказали.
Не работает.
Выдает ошибку:
"Run-time error "-2147024809 (80070057). Invalid procedure call or argument"
К сообщению приложен файл: 2126220.xls(43.0 Kb)
 
Ответить
Сообщениеboa, все сделал как вы сказали.
Не работает.
Выдает ошибку:
"Run-time error "-2147024809 (80070057). Invalid procedure call or argument"

Автор - perven
Дата добавления - 21.11.2018 в 21:49
boa Дата: Среда, 21.11.2018, 22:50 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
perven,
пробуйте
К сообщению приложен файл: 4079799.xls(39.0 Kb)


 
Ответить
Сообщениеperven,
пробуйте

Автор - boa
Дата добавления - 21.11.2018 в 22:50
perven Дата: Среда, 21.11.2018, 23:10 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
boa, теперь никакой ошибки не выдает.
Просто макрос - не срабатывает.
Я жму на кнопку - и ничего не происходит.
 
Ответить
Сообщениеboa, теперь никакой ошибки не выдает.
Просто макрос - не срабатывает.
Я жму на кнопку - и ничего не происходит.

Автор - perven
Дата добавления - 21.11.2018 в 23:10
boa Дата: Среда, 21.11.2018, 23:20 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
perven,
и в модуле2 ни чего не появляется?


 
Ответить
Сообщениеperven,
и в модуле2 ни чего не появляется?

Автор - boa
Дата добавления - 21.11.2018 в 23:20
perven Дата: Среда, 21.11.2018, 23:24 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
boa, в модуле появляется код с листа.

Но он не исполняется.
Прямоугольник на листе - не двигается.
 
Ответить
Сообщениеboa, в модуле появляется код с листа.

Но он не исполняется.
Прямоугольник на листе - не двигается.

Автор - perven
Дата добавления - 21.11.2018 в 23:24
boa Дата: Среда, 21.11.2018, 23:35 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
perven,

я не знааю, что у вас с компом/Excel'em/Руками/...

Хот в теме ни слова не было про движение прямоугольника, но для вас, пожалуйста
К сообщению приложен файл: 0727732.xls(42.0 Kb)


 
Ответить
Сообщениеperven,

я не знааю, что у вас с компом/Excel'em/Руками/...

Хот в теме ни слова не было про движение прямоугольника, но для вас, пожалуйста

Автор - boa
Дата добавления - 21.11.2018 в 23:35
perven Дата: Среда, 21.11.2018, 23:44 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
boa, получается что у вас две кнопки.
Первая кнопка - добавляет в модуль макрос, а вторая кнопка - выполняет - добавленный в модуль макрос.
А должна быть одна кнопка.

Имеется ввиду добавка в модуль макроса - и тут же выполнение добавленного макроса.
 
Ответить
Сообщениеboa, получается что у вас две кнопки.
Первая кнопка - добавляет в модуль макрос, а вторая кнопка - выполняет - добавленный в модуль макрос.
А должна быть одна кнопка.

Имеется ввиду добавка в модуль макроса - и тут же выполнение добавленного макроса.

Автор - perven
Дата добавления - 21.11.2018 в 23:44
boa Дата: Четверг, 22.11.2018, 00:08 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
perven, вы название темы читали?
или где-то в посте об этом сказано?
новый вопрос - новая тема!
научитесь правильно формулировать вопрос.

добавьте в 1 -й макрос в конце
[vba]
Код
run("module2.макрос2")
[/vba]


 
Ответить
Сообщениеperven, вы название темы читали?
или где-то в посте об этом сказано?
новый вопрос - новая тема!
научитесь правильно формулировать вопрос.

добавьте в 1 -й макрос в конце
[vba]
Код
run("module2.макрос2")
[/vba]

Автор - boa
Дата добавления - 22.11.2018 в 00:08
perven Дата: Четверг, 22.11.2018, 00:29 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
boa, задвигался квадрат !!!
Огромный вам поклон за труды.
 
Ответить
Сообщениеboa, задвигался квадрат !!!
Огромный вам поклон за труды.

Автор - perven
Дата добавления - 22.11.2018 в 00:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как макросом отключить модуль (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!