Здравствуйте! Подскажите, пожалуйста, как должен выглядеть макрос "если-то-иначе", который выполнял бы действие в зависимости от того, какое значение в ячейке А32? Если короче: почему не работает ниже приведенный макрос? Спасибо!
Private Sub Выход()
If Sheets("Меню").Range("A32") = 1 Then
Call Выход1
Else
If Sheets("Меню").Range("A32") = 2 Then
Call Выход2
Else
If Sheets("Меню").Range("A32") = 3 Then
Call Выход3
End If
End If
End If
End Sub
Для оформления кода есть кнопка "#"[МОДЕРАТОР]
Так нагляднее:
Private Sub Выход()
Select Case Sheets("Меню").Range("A32")
Case 1
Call Выход1
Case 2
Call Выход2
Case 3
Call Выход3
End Select
End Sub
Возможно, ошибка в вызываемых процедурах. Что они выполняют? Если похожие операции, то вполне может быть, что достаточно одного макроса.
В последующих процедурах ничего необычного: одна закрывает файл без сохранения, другая с сохранением, третья перед закрытием файла открывает другой файл. Проблема в том, что при попытке выполнить макрос Выход вообще ничего не происходит.
Посмотрите, пожалуйста, еще этот макрос. Здесь не выполняется значение ИСТИНА/ЛОЖЬ. Хоть ЛОЖЬ, хоть ИСТИНА в ячейках С32, С33, цифры 1 и 2 все равно прибавляются. Как сделать так, чтобы 1 прибавлялась только тогда, когда в ячейке С32 - ИСТИНА, а 2 прибавлялось только тогда, когда ИСТИНА в ячейке С33? Спасибо!
Private Sub Выход()
If Sheets("Меню").Range("C32") = ИСТИНА Then
Sheets("Формулы_5.1").[a20] = Sheets("Формулы_5.1").[a20] + 1
Else
If Sheets("Меню").Range("C33") = ИСТИНА Then
Sheets("Формулы_5.1").[a20] = Sheets("Формулы_5.1").[a20] + 2
End If
End If
End Sub
А если вместо ИСТИНА поставить True?
lovko, я Вам показал пример применения Select Case. Вы пробовали с ним разобраться? Получилось ли с первым кодом (если это секрет государственного масштаба, можете не отвечать, я пойму :))?
Пробовали применить ко второму показанному коду?
Вы бы показывали не только код, но и пример с ошибкой.
Спасибо за True - сработало! Что касается цифр и варианта с Case еще не пробовал. Начались "Экстрасенсы" по ТНТ, отлучился, извините. В моем макросе всегда срабатывает самый последний вариант - Выход3, какая бы цифра не стояла в ячейке. Почему-то остальные команды макрос пробегает, не реагируя на них. Я попробую ваш вариант с Case и отпишусь. Спасибо всем!
Через Case все работает. Огромное спасибо! Я и сам пытался применить эту команду, но никак не мог разобраться, как это сделать. Теперь буду знать. Еще раз спасибо!
Помогите, пожалуйста, с еще одним вопросом... удалено [МОДЕРАТОР]
lovko, не нужно превращать тему в свалку вопросов.
Вопрос не по теме удален.
Не буду.