excel - 选择具有多个真实条件的语句 Excel vba

标签 excel vba

我正在尝试使用具有多个条件的状态案例来运行宏,我知道我们应该使用“,”来分隔多个条件,但是我们可以使用什么来分隔必须满足的条件?

这是代码

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

如果我只隔离并运行最后一个案例“A”,它工作正常,但是我运行它确实工作的所有代码..有人可以帮忙吗?

最佳答案

您可以评估选择为真。

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

关于excel - 选择具有多个真实条件的语句 Excel vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52965994/

相关文章:

excel - 如何将十进制时间转换为 hh :mm time format in excel

excel - Excel 或 Powerpoint 2007/2010 中的滚动图表

vba - 调用包含特定宏的每个按钮

excel - 循环查找并打印从一个工作簿到 VBA 中的事件工作簿的相应值

vba - 在 PowerPoint 的宏中结束撤消事务

ms-access - 使用 VBA 从查询更新表

excel - 有没有一种快速的方法可以从 VBA 的 Range 中获取列字母?

Excel、Compile VBAProject - 更改模块的编译顺序

vba - 从另一个工作簿打开工作簿而不触发打开工作簿事件?

excel - 用函数将两个数字相加