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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 22:33   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Четыре сообщения в одном MsgBox, в зависимости от условий.

Здравствуйте.
Подскажите, как с одного MsgBox выводить сообщения,
Код:
If MsgBox(Условия "Сообщения1", "Сообщения2", "Сообщения3", "Сообщения4"), vbYesNo + vbExclamation, "Информационное сообщение") = vbNo Then Exit Sub
в зависимости от условий?
Код:
Если TextBox3.Value = "" And TextBox_L.Value = "" то Сообщение1
Если TextBox3.Value <> "" And TextBox_L.Value <> "" то Сообщение2
Если TextBox3.Value <> "" And TextBox_L.Value = "" то Сообщение3
Если TextBox3.Value = "" And TextBox_L.Value<> "" то Сообщение4
segail вне форума Ответить с цитированием
Старый 09.09.2010, 22:47   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата с сайта Климова П.Ю ака pashulka

Цитата:
Управляющая инструкция Select Case 'End Select
Эта инструкция в зависимости от результатов значения переменной или выражения выполняет один из нескольких фрагментов кода.

Пример :

Sub TestSelectCase()

iNumeric = 15

Select Case iNumeric
Case 1
MsgBox "Это сообщение Вы не должны увидеть"
Case 2, 5
MsgBox "Это сообщение Вы не должны увидеть"
Case 10 To 13
MsgBox "Это сообщение Вы не должны увидеть"
Case Is > 14
MsgBox "Именно это сообщение Вы и должны увидеть"
Case Else
MsgBox "Это сообщение появится, если переменная будет < 1"
End Select

End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 09.09.2010, 22:47   #3
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

Код:
select case true
   case TextBox3.Value = "" And TextBox_L.Value = "" : msg=Сообщение1
   case TextBox3.Value <> "" And TextBox_L.Value <> "" : msg=Сообщение2
   case TextBox3.Value <> "" And TextBox_L.Value = "" : msg=Сообщение3
   case TextBox3.Value = "" And TextBox_L.Value<> "" : msg=Сообщение4
end select
if msgbox (msg, ...)
в браузере чё-то Ctrl+Space не работает (слегка подбешивает), никто не знает?
аналитика вне форума Ответить с цитированием
Старый 09.09.2010, 23:20   #4
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
Код:
select case true
   case TextBox3.Value = "" And TextBox_L.Value = "" : msg=Сообщение1
   case TextBox3.Value <> "" And TextBox_L.Value <> "" : msg=Сообщение2
   case TextBox3.Value <> "" And TextBox_L.Value = "" : msg=Сообщение3
   case TextBox3.Value = "" And TextBox_L.Value<> "" : msg=Сообщение4
end select
if msgbox (msg, ...)
в браузере чё-то Ctrl+Space не работает (слегка подбешивает), никто не знает?
Спасибо.................................... ..........................
segail вне форума Ответить с цитированием
Старый 10.09.2010, 11:24   #5
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Ну если выводить одним оператором MsgBox, то никто не отменял и стандартную функцию switch:
Цитата:
Switch Function

Evaluates a list of expressions and returns a Variant value or an expression associated with the first expression in the list that is True.

Syntax

Switch(expr-1, value-1[, expr-2, value-2 … [, expr-n,value-n]])

The Switch function syntax has these parts:

Part Description
expr Required. Variant expression you want to evaluate.
value Required. Value or expression to be returned if the corresponding expression is True.

Remarks

The Switch function argument list consists of pairs of expressions and values. The expressions are evaluated from left to right, and the value associated with the first expression to evaluate to True is returned. If the parts aren't properly paired, a run-time error occurs. For example, if expr-1 is True, Switch returns value-1. If expr-1 is False, but expr-2 is True, Switch returns value-2, and so on.

Switch returns a Null value if:


None of the expressions is True.
The first True expression has a corresponding value that is Null.

Switch evaluates all of the expressions, even though it returns only one of them. For this reason, you should watch for undesirable side effects. For example, if the evaluation of any expression results in a division by zero error, an error occurs.

Example
This example uses the Switch function to return the name of a language that matches the name of a city.
Код:
Function MatchUp (CityName As String)
    Matchup = Switch(CityName = "London", "English", CityName _
                    = "Rome", "Italian", CityName = "Paris", "French")
End Function
Aent вне форума Ответить с цитированием
Старый 10.09.2010, 23:18   #6
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Здравствуйте.
Посоветоваться.
Правильная ли раскладка Select Case для двух MsgBox ?
Код:
    Select Case True
        Case TextBox3.Value <> "" And ComboBox1.Value = "" _
        Or TextBox3.Value <> "" And ComboBox2.Value = "" _
        Or TextBox3.Value <> "" And TextBox4.Value = "": msg1 = " Сообщение1"
        If MsgBox(msg1, 64, "Информационное сообщение") Then Exit Sub
        '-------------------------------------------------------------------
        Case TextBox3.Value = "" And TextBox_L.Value = "": msg2 = "Сообщение2.1"
        Case TextBox3.Value <> "" And TextBox_L.Value <> "": msg2 = "Сообщение2.2"
        Case TextBox3.Value <> "" And TextBox_L.Value = "": msg2 = "Сообщение2.3"
        Case TextBox3.Value = "" And TextBox_L.Value <> "": msg2 = "Сообщение2.4"
    End Select
        If MsgBox(msg2, vbYesNo + vbExclamation, "Информационное сообщение") = vbNo Then Exit Sub
        Module2.ost
segail вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие линии в зависимости от условий Brucebelg Microsoft Office Excel 7 19.05.2010 14:27
Четыре лабораторных на Pascal AlexeyGulin Фриланс 2 18.05.2010 13:35
сообщения: в одном, или в нескольких? AnTe О форуме и сайтах клуба 34 28.11.2009 17:39
Четыре кода одна кнопка. segail Microsoft Office Excel 8 09.09.2009 18:36
как изменять цвет ячейки в зависимости от условий ? Витёк Microsoft Office Excel 2 19.06.2007 13:10