编写返回函数编译错误

时间:2017-06-04 06:45:36

标签: vba

我想创建一个函数,其中我使用一个参数,因此该函数返回另一个值。在这种情况下,我想在函数中插入“链接”,然后函数应该给我“左”(我需要一个'翻译',所以我使用if语句的情况。

我有以下功能

Public Function newParameter(aParameter) As Integer
 Select Case aParameter
  Case Is = "Links"
   aParameter = "ppAlignLeft"
 End Select 
End Function

Sub finalFunction()
 Dim newParameter As String
 newParameter = newParameter(Links)
 MsgBox (newParameter)
End Sub

然而,这给了我一个编译错误,需要一个矩阵。关于如何让这个工作的任何想法?

1 个答案:

答案 0 :(得分:1)

您正在传递参数ByRef并更改其值。你不需要这个功能。函数重新调整值。

由于您正在使用函数,为什么不让函数返回您想要的值?

Public Function newParameter(ByVal aParameter As String) As String
 Select Case aParameter
  Case "Links":
   newParameter = "ppAlignLeft"
 Case "A":
   newParameter = "You passed A"
 Case Else:
   newParameter = "No match"
 End Select 
End Function

Sub finalFunction()
 Dim newParameter1 As String
 newParameter1 = newParameter("Links") 'This reads 'ppAlignLeft'
 MsgBox newParameter1
End Sub