2013-01-20 28 views
0

我有一列大學值。例如,我有一個字符串「密歇根大學」和「密西根大學」一欄VBA獲取返回字符串的函數

爲什麼不會在下面的函數在細胞回返回一個字符串,「密歇根大學」

Function CleanUniCode(entry) As Variant 
If entry = "UMich" Then entry = "University of Michigan" 

End Function 

也試過這和單元格返回0,不知道爲什麼。

Function CleanUniCode(entry) As Variant 
If entry Like "[UMich]" Then 
entry = "University of Michigan" 
ElseIf entry Like "[UPenn]" Then 
entry = "University of Pennsylvania" 
Else: 
End If 

End Function 

回答

5

這是因爲您分配了返回值entry,但你應該把它分配給CleanUniCode

Function CleanUniCode(entry) As Variant 
    If entry = "UMich" Then CleanUniCode = "University of Michigan" 
End Function 

始終將返回值賦給函數名。

+0

是的!謝謝。 –

+0

問題:爲什麼以下不工作?如果entry =「UMich」或「Umich」,那麼CleanUniCode =「University of Michigan」 –

+0

因爲每條OR語句都必須有'entry = ...':如果entry =「UMich」或entry =「Umich」Then CleanUniCode =「University of Michigan」' – Anton