Excel 在 VBA 中,如何获取 Function 的返回值

作者&投稿:塞审 (若有异议请与网页底部的电邮联系)
vba 取另一个excel 中的函数的返回值~

  结束之前把函数名做变量名,附上值,就是函数的返回值

function a()
a=5
end function

这函数会返回 5

Function b(str) As String
b = Mid(str, 1, 6)

End Function
sub a()
Dim str As Sting
str="123456789"

str=b()'return str="123456"
end sub

请测试一下,可据实修改:
Function GetTextPair(Optional docStyle As String = "TTK", Optional bTag As String = "{[", Optional eTag As String = "]}") As String
Dim bPosition As Long
Dim ePosition As Long
Dim textPair As String
Dim temp As String
temp = ""
With Selection
.Start = 0
.End = 0
End With
With Selection.Find
.ClearFormatting
.Style = docStyle
.Format = True
.Forward = True
.Text = ""
.Wrap = wdFindStop
Do While .Execute = True
textPair = Selection.Text
bPosition = InStr(textPair, bTag) + 2
ePosition = InStr(textPair, eTag)
If bPosition > 0 And ePosition > 0 Then
temp = temp & "||||" & Mid$(textPair, bPosition, ePosition - bPosition)
End If
Loop
End With
GetTextPair = temp
End Function
Sub Example()
MsgBox GetTextPair
End Sub

使用等号就可以,例如函数abs,要获得去返回值在变量x中,语句为:
x = abs(-5)

直接等于就可以吧? a=MyFunction