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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2012, 19:50   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

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

Для одного модуля.
Если нужно использовать между модулями и в формах - объявляйте public a$

Код:
Option Explicit

Dim a$, b$

Sub macro_a()
    If a = "" Then input_a
    MsgBox a
End Sub

Sub macro_b()
    If b = "" Then input_b
    MsgBox b
End Sub

Sub input_a()
    a = InputBox("", "", "")
End Sub

Sub input_b()
    b = InputBox("", "", "")
End Sub
В любой момент можно переменную поменять, вызвав input_a/b.
Если вызывать не нужно - можно макросы объявить
Код:
Private Sub input_a()
чтоб по Alt+F8 не путались.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 20.09.2012 в 20:01.
Hugo121 вне форума Ответить с цитированием
Старый 20.09.2012, 22:54   #12
tibhar940
Пользователь
 
Регистрация: 31.07.2012
Сообщений: 79
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Да я подумал - зачем пример? Вы и сами что-то уже можете, сделаете сами как Вам удобнее и по задаче нужно - главное подсказать направление
Да и писать было некогда - работа... Вот сейчас могу...

Для одного модуля.
Если нужно использовать между модулями и в формах - объявляйте public a$

Код:
Option Explicit

Dim a$, b$

Sub macro_a()
    If a = "" Then input_a
    MsgBox a
End Sub

Sub macro_b()
    If b = "" Then input_b
    MsgBox b
End Sub

Sub input_a()
    a = InputBox("", "", "")
End Sub

Sub input_b()
    b = InputBox("", "", "")
End Sub
В любой момент можно переменную поменять, вызвав input_a/b.
Если вызывать не нужно - можно макросы объявить
Код:
Private Sub input_a()
чтоб по Alt+F8 не путались.
Ну да, что-то уже могу. Во многом благодаря вашей помощи.
Я немного иначе сделал. Public a as variant (ну и также для b).
Потом задал макрос для инпутбокса. В моём случае он совмещен с выбором выполнения других макросов. У меня это привязано к записи цифры в определённые ячейки. Ну и уже потом переменные по макросам остальным распределяются. В общем всё работает.

З.Ы. - а в начале этой темы меня что-то неслабо так запутали)
tibhar940 вне форума Ответить с цитированием
Старый 20.09.2012, 23:46   #13
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Ну и хорошо.
Вообще эту "публичность" есть где применить - когда знаешь о такой возможности.
Ну и ещё можно передавать значения в макрос как параметр - может быть можно было и так поступить.
Вот например - запускать только macro1:
Код:
Option Explicit

Sub macro1()
    Dim a$, b$
    If a = "" Then input_ a
    If b = "" Then input_ b
    macro2 a, b
End Sub

Sub macro2(x, y)
    MsgBox x & " - " & y
End Sub

Sub input_(z)
    z = InputBox("", "", "")
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 20.09.2012 в 23:53.
Hugo121 вне форума Ответить с цитированием
Старый 20.09.2012, 23:48   #14
DARiDA
Новичок
Джуниор
 
Аватар для DARiDA
 
Регистрация: 20.09.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Ну и хорошо.
... может быть можно было и так поступить.
А какой смысл этого действа ?
DARiDA вне форума Ответить с цитированием
Старый 21.09.2012, 00:34   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Да хоть в том, что так всего один Sub input_
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление SWF из вне. fufel Помощь студентам 1 01.03.2011 13:08
Сервер на вне из сети Horus92 Операционные системы общие вопросы 12 23.10.2010 19:28
Нужна база вне ПК Sanctus БД в Delphi 5 28.09.2010 13:21
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без Neoli Microsoft Office Excel 2 09.03.2009 14:31
Как ускорить выполнение макросов tat-besidovska Microsoft Office Excel 1 22.01.2008 12:12