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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 12:51   #1
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию Как в середину макроса вставить UserForm1 ?

Подскажите пожалуйста.

Есть макрос.
В середине макроса мне необходимо вызвать UserForm1
на которой содержится ComboBox1 и CommandButton1.

В ComboBox1 я вибираю значение.
При нажатии на CommandButton1 выбранное значение помещается в ячейку A1 (на скрытом листе),
Значение в ячейке А2 вычисляется в зависимости от значения в А1.

Далее в макросе используется значение из ячейки А2

Если я в нужное место в макросе вставляю:
UserForm1.Show
x = Sheets("Лист2").Range("А2").Value

То макрос не дает мне выбрать в ComboBox1 и продолжает выполняться.

Как сделать что бы макрос продолжал выполняться только после нажатия на CommandButton1 ?

Что то наподобии: (это не работает так как мне надо)

Sub Макрос1()
Dim x, y, z
x = 2
' условно, на самом деле тут код, который обязательно должен быть до вызова UserForm1

UserForm1.Show

' Выбирается значение в ComboBox1 и при нажатии на CommandButton1 записывается в ячейку А1.
' А2 вычисляется в зависимости от А1

y = Sheets("Лист2").Range("A2").Value ' значение полученное при помощи вывора из UserForm1
z = x + y
Sheets("Лист2").Range("A3").Value = z
End Sub
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 08.12.2011 в 13:27.
Snekich вне форума Ответить с цитированием
Старый 08.12.2011, 15:24   #2
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Проблему решил обьявлением публичных переменных и разбитием макроса на несколько.
Простетский вопрос. Извиняюсь за беспокойство...
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 08.12.2011 в 16:19.
Snekich вне форума Ответить с цитированием
Старый 09.12.2011, 14:38   #3
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

а все должно было работать, как вы и написали..
slan вне форума Ответить с цитированием
Старый 09.12.2011, 14:43   #4
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от slan Посмотреть сообщение
а все должно было работать, как вы и написали..
Но почему то выводилась юзерформ и макрос не останавливаясь продолжал выолняться (не дожидаясь ввода данных на юзерформ)....
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 09.12.2011, 15:23   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Проблем нет,макрос стоит и ожидает ввода
Вложения
Тип файла: rar нет проблем.rar (11.5 Кб, 36 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повреждение данных при записи в середину бинарного файла Aerial Общие вопросы C/C++ 2 01.12.2011 19:32
Вставка в середину строки Кинельски Общие вопросы Delphi 2 03.06.2010 12:19
Запись в середину файла newkobra Общие вопросы C/C++ 12 22.03.2010 22:35
Восстановление окна на середину экрана. Airou Общие вопросы Delphi 5 27.10.2009 15:40
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58