VBA:VBA-Select Case语句教程

为了避免难以弄清的复杂的嵌套的If语句,你可以使用Select Case语句代替。它的语法为:
Select Case 测试表达式
Case 表达式1
如果表达式1匹配测试表达式的语句
Case 表达式2
如果表达式2匹配测试表达式的语句
Case 表达式N
如果表达式N匹配测试表达式的语句
Case Else
如果没有表达式匹配测试表达式要执行的语句
End Select
实例:
Function chehao(p As String) As String
Application.Volatile
On Error Resume Next
Select Case p
Case "LSFD03205LC002046": chehao = "S0R-001"
Case "LSFD03207LC002047": chehao = "S0R-002"
Case "LSFD03209LC002048": chehao = "S0R-003"
Case "LSFD03200LC002049": chehao = "S0R-004"
Case "LSFD03207LC002050": chehao = "S0R-005"
Case "LSFD03209LC002051": chehao = "S0R-006"
Case "LSFD03203LC002059": chehao = "S0R-014"
Case "LSFD0320XLC002060": chehao = "S0R-015"
Case "LSFD03201LC002061": chehao = "S0R-016"
Case "LSFD03202GC001359": chehao = "SOL-001"
Case "LSFD03202GC001930": chehao = "SOL-002"
Case "LSFD03204GC001931": chehao = "SOL-003"
Case "LSFD03206GC001932": chehao = "SOL-004"
Case "LSFD03208GC001933": chehao = "SOL-005"
Case "LSFD0320XGC001934": chehao = "SOL-006"
Case "LSFD03201GC001935": chehao = "SOL-007"
Case "LSFD03203GC001936": chehao = "SOL-008"
Case "LSFD0320XGC001965": chehao = "SOL-037"
Case "LSFD03201GC001966": chehao = "SOL-038"
Case "LSFD03203GC001967": chehao = "SOL-039"
Case Else: chehao = p
End Select
End Function

如果是固化的索引值,建议用这个方法。差不多可以代替vlookup

参考自:https://www.cnblogs.com/aademeng/articles/12950323.html

Function Bonus(performance, salary) 
  Select Case performance 
    Case 1 
      Bonus = salary * 0.1 
    Case 2, 3 
      Bonus = salary * 0.09 
    Case 4 To 6 
      Bonus = salary * 0.07 
    Case Is > 8 
      Bonus = 100 
    Case Else 
      Bonus = 0 
  End Select 
End Function

https://blog.csdn.net/pigerr/article/details/128897661