Страницы: 1
RSS
Условия в Select Case
 
Добрый день, помогите пожалуйста скорректировать код vba.

Весь код показывать не вижу смысла так как все что выше работает корректно, а вот с частью где идет Select, он определяет только первое условие...
К примеру:
Я выбираю значения первой ячейки = English, а второй ячейки = Warranty, и исходя из этого выбора он вставляет соответствующее сообщение
Но всегда выбирает первую часть "Russian" и "Warehouse", помогите пожалуйста скорректировать, может я два условия в одном Case не правильно задаю....

вот сам код (часть):
Код
x = Range("IZ11")
y = Range("JA11")
Select Case x And y
Case Is = (x = "Russian") And (y = "Warehouse")
Call Russian_warehouse
Case Is = (x = "Russian") And (y = "Incoming inspection")
Call Russian_incoming_inspection
Case Is = (x = "Russian") And (y = "Machining operation")
Call Russian_machining
Case Is = (x = "Russian") And (y = "Assembly process")
Call Russian_assembly_operation
Case Is = (x = "Russian") And (y = "Warranty period")
Call Russian_warranty
Case Is = (x = "English") And (y = "Warehouse")
Call English_warehouse
Case Is = (x = "English") And (y = "Incoming inspection")
Call English_incoming_inspection
Case Is = (x = "English") And (y = "Machining operation")
Call English_maching
Case Is = (x = "English") And (y = "Assembly process")
Call English_assembly
Case Is = (x = "English") And (y = "Warranty period")
Call English_warranty
End Select
Изменено: alextlt - 26.04.2018 14:31:50
 
посмотрите
select_case
 
alextlt, код следует оформлять соответствующим тегом. Ищите такую кнопку и исправьте своё сообщение.
По вопросу: я бы добавил строковую переменную, куда бы сцеплял значения двух ячеек, а в проверке уже использовал эту переменную.
 
Извиняюсь, исправил
 
В общем друзья, нашел причину проблемы - надо было указать лист с которого это должно работать  :D
Код
'Send email
Sheets("Protocol").Select
Select Case Range("JA12").Value
Case Is = "Russian-Warehouse"
Call Russian_warehouse
Case Is = "Russian-Incoming inspection"
Call Russian_incoming_inspection
Case Is = "Russian-Machining operation"
Call Russian_machining
Case Is = "Russian-Assembly process"
Call Russian_assembly_operation
Case Is = "Russian-Warranty period"
Call Russian_warranty
Case Is = "English-Warehouse"
Call English_warehouse
Case Is = "English-Incoming inspection"
Call English_incoming_inspection
Case Is = "English-Machining operation"
Call English_maching
Case Is = "English-Assembly process"
Call English_assembly
Case Is = "English-Warranty period"
Call English_warranty
End Select
Изменено: alextlt - 26.04.2018 15:01:27
 
от select-ов старайтесь уходить.
Код
Select Case Sheets("Protocol").Range("JA12").Value
 
Проблема была и в неправильном указании x And y
Выделять лист не обязательно:
Код
 Select Case Sheets("Protocol").Range("JA12").Value

Зачем Is?
Код
Case "Russian-Warehouse"
 
Is само подставляется )
 
Не знаю, как там у котов, - у меня с текстом не подставляется. Только при условии: Case > 2
 
У котов и с текстом подставляется Is ))
Просто у тебя Excel детский  :)  
Страницы: 1
Наверх