2016-10-04 3 views
0

У меня есть простой пример case, который должен оценивать -1 в футляре Case -1 To -10, и он пропускает его. Первоначально я думал, что ошибка была связана с Select Case Val(firstOptionLegArray(UBound(firstOptionLegArray))) + Val(secondOptionLegArray(UBound(secondOptionLegArray))) тем, что она не оценивала то, что я ожидал (в этом конкретном случае это должно быть +1 + -2).Выберите номер диапазона номеров, не регистрирующий

Ускоренная линия Debug.Print, и на самом деле она оценивается как -1. Что мне не хватает?

Debug.Print Val(firstOptionLegArray(UBound(firstOptionLegArray))) + Val(secondOptionLegArray(UBound(secondOptionLegArray))) 

       Select Case Val(firstOptionLegArray(UBound(firstOptionLegArray))) + Val(secondOptionLegArray(UBound(secondOptionLegArray))) 

        Case 0 
        'No ratio 

         assemblyString = "LIVE " & GetOptionCodes(Mid(tradeLegStructureArray(0), 8, 2)) & " " & TranslateExpirationDate(firstOptionLegArray(3)) & " " & Format(firstOptionLegArray(5), "##0.00") & "/" & _ 
         Format(secondOptionLegArray(5), "##0.00") & " Fence" 

        Case -1 To -10 
        'Ratio 

         assemblyString = "LIVE " & GetOptionCodes(Mid(tradeLegStructureArray(0), 8, 2)) & " " & TranslateExpirationDate(firstOptionLegArray(3)) & " " & Format(firstOptionLegArray(5), "##0.00") & "/" & _ 
         Format(secondOptionLegArray(5), "##0.00") & " " & Abs(firstOptionLegArray(UBound(firstOptionLegArray))) & "x" & Abs(secondOptionLegArray(UBound(secondOptionLegArray))) & " Fence" 

       End Select 
+3

Вы должны написать более низкое число первых. Итак: 'Case -10 To -1' – gizlmo

ответ

3

Значения должны быть в порядке возрастания в деле line:

Case -10 To -1