Добрый день, подскажите, плиз, я что-то не правильно делаю или так не возможно в принципе?
Код | ||
---|---|---|
|
04.03.2016 13:58:25
Может быть так -
|
|||||
|
|
04.03.2016 14:04:33
Апострофф,да так работает, но по сути это сокращенная запись того что ниже?
|
|||||
|
|
04.03.2016 14:18:27
Да, именно так.
А Вы пытались (через Селект) выполнить следующее сравнение -
|
|||||
|
|
04.03.2016 14:26:01
странно , у меня все работает
|
|||||
|
|
04.03.2016 14:32:19
Ничего странного, A=b не в контексте присваивания - TRUE(=-1) или FALSE(=0), т.е. целые числа.
В Вашем случае получаем
|
|||||
|
|
04.03.2016 14:33:10
Работает, - потому что в вашем случае сравниваются ЧИСЛА
If A = b And c = d Then MsgBox "f" это то же самое, что и If -1 And -1 Then MsgBox "f" т.к. ваша строка кода интерпретируется так: If (A = b) And (c = d) Then и такое будет работать: if t7Arr(t, 4) = "R" And bArr(f,4) <> "ОТС" т.к. VBA увидит тут if (t7Arr(t, 4) = "R") And (bArr(f,4) <> "ОТС") т.е. после вычислений получится if 0 And -1 а исходный пример не работает Case Is = "R" And bArr(f,4) <> "ОТС" там скобки иначе ставятся: Case Is = ("R" And (bArr(f,4) <> "ОТС")) что после вычисления будет Case Is = ("R" And -1) потому и ошибка была |
|
|
|
04.03.2016 14:38:11
тоесть в исходном случае
Case Is = "R" не может принять значения -1 или 0 ? |
|||||
|
|
04.03.2016 14:41:29
разобрался. всем спасибо
|
|
|
|
05.03.2016 02:36:57
KL
|
|||||
|
|
||||