压缩VBA代码中的多个OR条件

Mic*_*chi 3 excel vba excel-vba

我使用以下代码允许用户将值写入单元格A1.

Sub TestUsername()
If Environ("Username") = "firstname1.lastname1" Or Environ("Username") = "firstname2.lastname2" _
Or Environ("Username") = "firstname3.lastname3" Or Environ("Username") = "firstname4.lastname4" Then
Sheet1.Range("A1").Value = 1
Else
Sheet1.Range("A2").Value = 2
End If
End Sub
Run Code Online (Sandbox Code Playgroud)

如您所见,我列出了允许使用我的VBA代码在Cell A1中输入值的每个用户OR-condition.这一切都很好.


现在,我想知道是否有更简单的方法来做到这一点.像这样的东西:

Sub TestUsername()
If List of or-conditions: {"firstname1.lastname1", "firstname2.lastname2", _
"firstname3.lastname3", "firstname4.lastname4"} = True Then
Sheet1.Range("A1").Value = 1
Else
Sheet1.Range("A2").Value = 2
End If
End Sub
Run Code Online (Sandbox Code Playgroud)

我只是在PHP中知道你可以像这里压缩多个条件.因此,我认为这对于VBA编程也是可能的.

Sto*_*rax 7

也许这样的事情

Sub TestUsername()
    Select Case Environ("Username")
    Case "firstname1.lastname1", "firstname2.lastname2", "firstname3.lastname3"
        Sheet1.Range("A1").Value = 1
    Case Else
        Sheet1.Range("A2").Value = 2
    End Select
End Sub
Run Code Online (Sandbox Code Playgroud)