簡體   English   中英

Excel VBA問題 - 如果那么ElseIf聲明

[英]Excel VBA question - If then ElseIf statement

我有一個VBA條件函數,我一起攻擊(我是一個菜鳥),檢查單元格中的名稱,然后返回適當的變量,如果其中一個條件為真,否則返回一個空白“”。 而不是返回空白,我希望它返回默認的單元格值。

舉個例子,我根據我的函數得到以下單元格和結果:

   Cells
   A        B
1  Bob      Bob Rob Robert
2  Mike     Mike Michael
3  Dan      Dan Daniel
4  Scott  

我希望B4的結果返回A4(Scott)中的默認值,而不是空白,如下所示:

   Cells
   A        B
1  Bob      Bob Rob Robert
2  Mike     Mike Michael
3  Dan      Dan Daniel
4  Scott    Scott

任何幫助,將不勝感激:

這是我的函數(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子句都不匹配,則該函數返回空字符串( "" )。

如果使用pVal="Scott"調用函數,則會進入默認賦值。 你想要它而不是空字符串?

我不知道我是否正確理解你的問題,但試試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM