Vba 将UDT数组的特定元素传递给函数
因此,我有一个UDT设置如下:Vba 将UDT数组的特定元素传递给函数,vba,excel,Vba,Excel,因此,我有一个UDT设置如下: Public Type UserInfo name as string username as string active_time as double End Type 然后,我创建一个这种类型的数组: Dim list_of_users() as UserInfo 'Populate array here 我要做的是将活动的_时间值作为数组传递到一个单独的函数中。比如: 'StdDev function defined elsewhere stan
Public Type UserInfo
name as string
username as string
active_time as double
End Type
然后,我创建一个这种类型的数组:
Dim list_of_users() as UserInfo
'Populate array here
我要做的是将活动的_时间值作为数组传递到一个单独的函数中。比如:
'StdDev function defined elsewhere
standard_dev_all = StdDev(list_of_users().active_time)
这可能吗?我想我可以修改这个函数来处理我的UDT,但我的值比活动时间多得多,这似乎会让它变得非常混乱。您不能将其作为
UDTvariable.Element
' or
UDTvariable().Element
变成一个函数。我是说
Answer = Stdev(UDTVariable)
在函数内部,你可以这样做
Function Stdev(ByRef UDTVariableTypeName UDTVariable)
for i = 1 to N
Something = UDTVariable(i).Element
' so on and so forth
next i
Stdev = SomeAnswer
End Function
您可以省略编写
ByRef
,因为这是传递参数的默认方式,但为了清晰起见,我保留了它。我将通过ref传递孔数组用户列表(),这对您很有用。如果这是你想要的,我会很感激你的投票。谢谢:)谢谢你的澄清,这就是我想我应该做的。