我有一个包含多个字段的表单。我有一个字段,我需要找到输入数字的最大值和最小值,并从最大值中减去最小值。
基本上,用户将数据输入表格:
field5 = 3
fieldcalc =(max(field1,field2,field3,field4,field5)) - (min(field1,field2,field3,field4,field5))
应该返回4
我该如何实现?
答案 0 :(得分:0)
您可以编写如下函数:
Public Function ReturnMinOrMax(intMinOrMax As Byte, ParamArray vals()) As Long
'intMinOrMax: 0 for min, non-0 for max
Dim v As Variant
Dim i As Variant
i = vbNull
For Each v In vals
If IsNull(v) = False Then
If IsNull(i) = True Then i = v
Select Case intMinOrMax
Case 0
If v < i Then i = v
Case Else
If v > i Then i = v
End Select
End If
Next
ReturnMinOrMax = CLng(i)
End Function
并称之为:
fieldcalc = ReturnMinOrMax(1, field1, field2, field3, field4, field5) - ReturnMinOrMax(0, field1, field2, field3, field4, field5)
该函数使用一个标志来返回min或max以及一个ParamArray,您可以根据需要传递任意数量的字段。只需传递所有值并执行减法操作。