VBA/Excel错误-使用StartWith时出现值错误

VBA/Excel错误-使用StartWith时出现值错误,excel,vba,Excel,Vba,当单元格的值为S时,当我从excel调用=LRegionName(单元格)时,下面的函数会打印值South。但当单元格的值为N时,它会在excel中给出值错误。我错过了什么 Function LRegionName(LRegion) If LRegion = "S" Then LRegionName = "South" ElseIf LRegion.startsWith("N") Then LRegionName = "North" ElseIf LRegion = "E" The

当单元格的值为S时,当我从excel调用=LRegionName(单元格)时,下面的函数会打印值South。但当单元格的值为N时,它会在excel中给出值错误。我错过了什么

Function LRegionName(LRegion)
If LRegion = "S" Then
   LRegionName = "South"
ElseIf LRegion.startsWith("N") Then
    LRegionName = "North"
ElseIf LRegion = "E" Then
   LRegionName = "East"
ElseIf LRegion = "W" Then
   LRegionName = "West"
Else
   LRegionName = "Dont know"
End If

End Function
替换:

ElseIf LRegion.startsWith("N") Then
与:


如果只匹配一个字母,可以使用Gary的答案

如果要在开头匹配多个字母,可以使用

ElseIf LRegion Like "N*" Then
在这里,“*”表示它可以是N之后的任何内容。

类似地,如果键入“No*”,则表示可以是“Nor”或“Norman”或“North”之后的任何内容。不知道为什么。startsWith()在VBA中不是有效的函数。我发现了一些使用startsWith()的示例,这就是我使用它的原因。vba AFAIK中不存在它。通常使用LEFT。@Don如果函数不存在,我们必须使用剩下的任何函数…………我为这种幽默道歉。@Don,
StartsWith
是VB.Net,而不是VBA<代码>字符串s在VBA中没有方法。
ElseIf LRegion Like "N*" Then