Про макросы в Excel

Компьютеры программирование excel макросы

Вопрос такой.
Есть Книга с несколькими листами. На одном листе есть несколько макросов, на другом тоже.
Мне нужно макросом с одного листа проделать следующее:
Перейти на другой лист
Запустить макрос, находящийся на другом листе, который что-то делает на этом другом листе
Вернуться опять на первый лист
Как это сделать?

Команды типа
Worksheets("Лист2").Select
или
Worksheets("Лист2").Activate
не помогают. Выдает ошибку типа "Макрос с таким именем не определен".
То есть перехода на другой лист не происходит.

Примечание:
Младшенький
Я так и делаю. Про то и написал, что команда Activate не помогает

Примечание:
Макросы запускаются нажатием кнопок, поэтому держать макрос в стандартном модуле, а не на листе - невозможно. Попробовал такие способы:
1)
Worksheets("Содержание").Activate (или Worksheets("Содержание").Select)
Call btnSod_Click
Выдает ошибку "Макрос с таким именем не определен"
2)
Worksheets("Содержание").Activate
Call Worksheets("Содержание").btnSod_Click
Выдает ошибку "Объект не поддерживает это свойство или метод"

Примечание:
Всем спасибо, я разобрался в проблеме, и выяснилось, что я идиот!
Всего-то надо было в названиях макросов убрать слово Private, которое автоматически появляется при создании макроса нажатия кнопки. Теперь вызов
Call btnSod_Click
и все остальные нормально работают.
Ответы:
Пишете макрос, который "что-то делает" на листе 2
Обзываете его, например, Вася()
Пишете другой макрос, примерно такой:
Sub Петя()
Worksheets("Лист2").Activate
Call Вася
Worksheets("Лист1").Activate
End Sub
Что за макрос у вас на первом листе? Обработчик события листа или просто процедура? Вставьте их в обычный модуль. И ещё. Активировать другой лист макросом нет смысла, всё равно же потом возвращаться.
Вместо Call Worksheets("Содержание").btnSod_Click попробуйте
Содержание.btnSod_Click


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.