use*_*250 8 excel vba excel-vba
对于以下代码,
If Sheets("sheet1").Range("A1").Value = "option_1" Then
Sheets("sheet1").Range("A1").Value = "option_2"
ElseIf Sheets("sheet1").Range("A1").Value = "option_2" Then
Sheets("sheet1").Range("A1").Value = "option_3"
ElseIf Sheets("sheet1").Range("A1").Value = "option_3" Then
Sheets("sheet1").Range("A1").Value = "option_4"
...
End IF
Run Code Online (Sandbox Code Playgroud)
和
Select Case Sheets("sheet1").Range("A1").Value
Case Is = "option_1"
Sheets("sheet1").Range("A1").Value = "option_2"
Case Is = "option_2"
Sheets("sheet1").Range("A1").Value = "option_3"
Case Is = "option_3"
Sheets("sheet1").Range("A1").Value = "option_4"
...
End Select
Run Code Online (Sandbox Code Playgroud)
问题:
1)我想知道哪条路会更快.如果可能的话,技术细节可以解释一下吗?
2)无论效率如何,在这种情况下我应该使用哪种方法,以获得更好的编码.
3)从数组中圈出值的任何其他"简单"方法?
jti*_*ley 13
对于一些项目来说,这并不重要。对于较大的阵列,请使用 switch。 更多技术细节请参见此处。