Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 8
1

Вызов макроса в теле другого макроса

26.05.2010, 09:35. Показов 2599. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Есть макрос (главный) в теле которого вызывается другой макрос. При выполнении второго макроса вычисляется значение, которое должно в дальнейшем использоваться в первом (главном) макросе при вычислениях. Как получить (сохранить) и использовать эначение второго макроса в первом (главном)?
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2010, 09:35
Ответы с готовыми решениями:

Вызов из макроса другого макроса
general.xlsm Sub OpenFile1() Workbooks.Open Filename:="Z:\1\2.xlsm" Call...

Синтаксис: точка в теле макроса struc и звёздочка в описании параметров макроса
struc XXXX { .: ; это что имеется ввиду??? ;..... .hwnd dd ? .lpVerb dd...

Вызов макроса из макроса, расположенного в другом файле
Привет коллегам, Я разработал большой макрос, положил его в файл MyMacro.xlsm. Теперь я хочу,...

Вызов макроса по имени макроса в ячейке
Добрый вечер форумяне! существует ли такая возможность, что бы кликнув по определенной ячейке...

3
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
26.05.2010, 09:48 2
Предлагаю два варианта:
1) объявить глобальную переменную, "видимую" во всех макросах
2) второй (неглавный) макрос сделать не процедурой, а функцией, которая возвращает требуемое значение
0
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 8
26.05.2010, 09:57  [ТС] 3
Приведите пожалуйста пример кода как это сделать =)
0
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
26.05.2010, 10:20 4
1) объявить глобальную переменную, "видимую" во всех макросах

Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim XXX as String
 
Sub Макрос1()
      Макрос2
      MsgBox XXX
End Sub
 
Sub Макрос2()
      XXX = "Test"
End Sub
2) второй (неглавный) макрос сделать не процедурой, а функцией, которая возвращает требуемое значение

Visual Basic
1
2
3
4
5
6
7
8
9
Sub Макрос1()
      Dim XXX as String
      XXX = Макрос2
      MsgBox XXX
End Sub
 
Function Макрос2() as String
      Макрос2 = "Test"
End Sub
0
26.05.2010, 10:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2010, 10:20
Помогаю со студенческими работами здесь

Запуск макроса из другого макроса
Как в Word запустить из одного макроса другой? RunMacro куда засунуть?

Кавычки в теле макроса
Кавычки в теле макроса, как их умудрился юзер написать?? MsgBox "Строка «" & strF & "» найдена в...

Оператор ## и переменная в теле макроса
Добрый день. Столкнулся с такой проблемой, к примеру: #define SQUARE(val) val * 3##val Если...

Запуск макроса из макроса ИЛИ повторение одного и того же кода
Excel Есть код в 10 строк (назовем его "блок"), который повторяется 5 раз в модуле (макросе)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru