我想编写一个自定义函数,而不是提供单个单元格的数据,我想只提供行号作为参数,然后引用列字母,就像它是一个数组或对象一样。
例如
Function DoCalculation(Row1, Row2)
DoCalculation = Row1[A] + Row2[D]
End Function
这样的事情可能吗?否则,每次我想使用该函数时,接近我将使用的十几个参数将会非常繁琐...
答案 0 :(得分:1)
是的,你可以完成这种最终结果。
Function DoCalculation(Row1, Row2)
DoCalculation = Range("A" + Row1).Value + Range("D" + Row2).Value
End Function
答案 1 :(得分:0)
还要进行测试以检查一次只发送一行。
Function DoCalculation(Row1 As Range, Row2 As Range) As Variant
Dim x As Integer
If (Row1.Rows.Count = 1 And Row2.Rows.Count = 1) Then
DoCalculation = Range("A" & Row1.Row).Value + Range("D" & Row2.Row).Value
Else
DoCalculation = "Error, one input has too many ranges"
End If
End Function