Выберите оператор с несколькими истинными условиями Excel vba - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь запустить макрос с делом состояния с несколькими условиями, я знаю, что мы должны использовать "," для разделения нескольких условий, но что мы можем использовать для разделения условий, которым должны удовлетворяться оба?

вот код

Select Case Cells(i, 248)
        Case "B":    Fees_Jan = (Cells(i, 267).Value - Cells(i, 265)) / 2
        Case "C":    Fees_Jan = (Cells(i, 267).Value - Cells(i, 265)) * 0.25
        Case "A", Cells(i, 250) = "BANANAS", Cells(i, 236) = "MAÇAS": Fees_Jan = (Cells(i, 267).Value * 0.35 / 1 / 2)
        Case "A", Cells(i, 250) = "PERAS", Cells(i, 236) = "MORANGOS": Fees_Jan = ((Cells(i, 262).Value) * 0.2 / 2) + (Cells(i, 263).Value - (Cells(i, 265).Value) / 3)
        Case Else:     Fees_Jan = Cells(i, 265).Value / 2
    End Select

, если я изолирую и запускаю только последний вариант «А», он работает нормально, но когда я запускаю весь код, он работает хорошо…Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете оценить выбор для True.

Select Case True
    Case Cells(i, 248) = "B"
        Fees_Jan = (Cells(i, 267).Value - Cells(i, 265)) / 2
    Case Cells(i, 248) = "C"
        Fees_Jan = (Cells(i, 267).Value - Cells(i, 265)) * 0.25
    Case Cells(i, 248) = "A" And Cells(i, 250) = "BANANAS" And Cells(i, 236) = "WILLHILL_CLEVERADV_HYBRID"
        Fees_Jan = (Cells(i, 267).Value * 0.35 / 1 / 2)
    Case Cells(i, 248) = "A" And Cells(i, 250) = "PERAS" And Cells(i, 236) = "MORANGOS"
        Fees_Jan = ((Cells(i, 262).Value) * 0.2 / 2) + (Cells(i, 263).Value - (Cells(i, 265).Value) / 3)
    Case Else
        Fees_Jan = Cells(i, 265).Value / 2
End Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...