Excel VBA的问题 – 如果再用ElseIf语句
我有一个VBA条件函数,我一起入侵(我是一个noob),检查单元格中的名称,然后返回适当的变化,如果其中一个条件为真,否则返回一个空白的“”。 而不是返回一个空白,我希望它返回默认的单元格值。
作为一个例子,我有以下单元格和结果基于我的function:
Cells AB 1 Bob Bob Rob Robert 2 Mike Mike Michael 3 Dan Dan Daniel 4 Scott
我想B4的结果返回A4(Scott)的默认值,而不是像这样的空白:
Cells AB 1 Bob Bob Rob Robert 2 Mike Mike Michael 3 Dan Dan Daniel 4 Scott Scott
任何帮助,将不胜感激:
这是我的function(ElseIf中没有包含所有名称的缩写版本):
Function NameList(pVal As String) As String If pVal = "Bob" Then NameList = "Bob Rob Robert" ElseIf pVal = "Mike" Then NameList = "Mike Michael" ElseIf pVal = "Dan" Then NameList = "Dan Daniel" Else NameList = "" End If End Function
谢谢!
我认为
Else
NameList = pVal
解决你的问题。
仔细看一下else子句:
[...] Else NameList = "" End If
如果没有if / elseif子句匹配,函数将返回空string( ""
)。
如果你的函数是通过pVal="Scott"
调用的,那么你可以使用默认的赋值。 你想要什么而不是空string?
我不知道我是否正确理解你的问题,但试试这个
Function NameList(pVal As String) As String If pVal = "Bob" Then NameList = "Bob Rob Robert" ElseIf pVal = "Mike" Then NameList = "Mike Michael" ElseIf pVal = "Dan" Then NameList = "Dan Daniel" Else NameList = pVal End If End Function