vba函数如何返回两个值

日期:

最佳答案

在VBA编程中,我们偶然会碰到须要从函数中前去不止一个值的情况。本文将介绍如何在VBA中实现一个函数前去两个值。这将经由过程利用数组、字典东西或许将两个值封装在一个自定义范例中来实现。 起首,我们可能利用数组来前去多个值。在VBA中,数组长短常机动的数据构造,可能用来存储任何范例的数据。以下是一个简单的例子:     Function GetValues() As Variant     Dim myArray(1 To 2) As Variant     myArray(1) = "第一个值"r>    myArray(2) = "第二个值"r>    GetValues = myArray     End Function 在这个例子中,GetValues函数前去一个包含两个元素的数组,分辨存储了两个前去值。 其次,我们可能利用字典东西。字典东西容许我们存储键值对,从而为前去值供给描述性标签。以下是利用字典的示例:     Function GetValuesDict() As Object     Dim myDict As Object     Set myDict = CreateObject("Scripting.Dictionary")     myDict("第一个值") = "值1"r>    myDict("第二个值") = "值2"r>    Set GetValuesDict = myDict     End Function 在这个例子中,GetValuesDict函数前去一个字典东西,其中包含了两个键值对。 最后,我们可能定义一个自定义范例来封装须要前去的多个值。这种方法在逻辑上更为清楚,尤其是当我们须要前去存在相干性的数据时。以下是利用自定义范例的示例:     Type MyType     Value1 As String     Value2 As Integer     End Type     Function GetValuesType() As MyType     Dim myValues As MyType     myValues.Value1 = "第一个值"r>    myValues.Value2 = 123     GetValuesType = myValues     End Function 在这个例子中,我们定义了一个名为MyType的自定义范例,并在GetValuesType函数中利用它来前去两个值。 总结,VBA供给了多种方法来从一个函数中前去两个或多个值。可能根据具体的利用处景跟团体偏好抉择合适的方法。