Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
yl3d
2 / 2 / 1
Регистрация: 28.09.2015
Сообщений: 193
#1

Проигрывание макроса по условию - VBA

12.06.2017, 23:57. Просмотров 177. Ответов 3
Метки нет (Все метки)

Здравствуйте, форумчане.

Помогите разобраться.

В файле экселя находится два макроса - Odin и Dva.

Как должен выглядеть "Макрос3" - чтобы он по событию Calculate - при наличии в ячейке E4 значения "1" - проигрывал макрос Odin, при наличии в ячейке E4 значения "2" - проигрывал бы макрос Dva ?

То есть если в ячейке E4 стоит "1" - то проигрывается макрос Odin, если же стоит "2" - то проигрывается макрос Dva.
0
Вложения
Тип файла: xls 402458.xls (42.0 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2017, 23:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проигрывание макроса по условию (VBA):

Выполнение макроса по условию
всем привет.у меня есть условие если 1 = 5 то выполнить макрос1 иначе если 1=4...

Доработка макроса: составить путь к файлу из двух ячеек по условию
имеется макрос который с используя цикла копирует поочереди 3 книги за...

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

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

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

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

3
pashulka
2342 / 1174 / 476
Регистрация: 01.12.2010
Сообщений: 2,407
13.06.2017, 08:06 #2
Visual Basic
1
2
3
4
5
6
Private Sub Worksheet_Calculate()
    Select Case Range("E4")
        Case 1: Odin
        Case 2: Dva
    End Select
End Sub
или

Visual Basic
1
2
3
4
5
6
7
Private Sub Worksheet_Calculate()
    If [E4] = 1 Then
       Odin
    ElseIf [E4] = 2 Then
       Dva
    End If
End Sub
или создать один макрос и вызывать его, передав цвет заливки
0
avporsk
53 / 32 / 13
Регистрация: 03.11.2016
Сообщений: 162
13.06.2017, 08:10 #3
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Worksheet_Calculate()
 
If (ActiveSheet.Cells(4, 5) = 1) Then
Module1.Odin
 
 
End If
 
 
If (ActiveSheet.Cells(4, 5) = 2) Then
Module1.Dva
 
 
End If
 
 
End Sub
0
Вложения
Тип файла: xls 402458.xls (43.0 Кб, 2 просмотров)
yl3d
2 / 2 / 1
Регистрация: 28.09.2015
Сообщений: 193
13.06.2017, 18:44  [ТС] #4
pashulka , avporsk - ваши макросы работают.
Большое спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2017, 18:44
Привет! Вот еще темы с решениями:

Проигрывание файла (в текущем макросе) - с зацикливанием
Добрый день, форумчане. Помогите с решением проблемы. У меня есть макрос -...

Проигрывание wav файлов из VBA Excel 97
Как по-простому крутить аудио-файлы из программы? Пробовал, как в 95-м экселе,...

Проигрывание mp3 без использования сторонних программ и АктивХ MediaPlayer
Добрый день, гуру экселя. Помогите решить проблему. На листе - в ячейке B6 -...

Вызов макроса в теле другого макроса
Добрый день! Есть макрос (главный) в теле которого вызывается другой макрос....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru