我想编写一个自定义函数,而不是提供单个单元格的数据,我想只提供行号作为参数,然后引用列字母,就好像它是一个数组或对象一样。
例如
Function DoCalculation(Row1, Row2)
DoCalculation = Row1[A] + Row2[D]
End Function
这样的事情可能吗?否则,每次我想使用该函数时,传入接近十几个我将使用的参数将是非常乏味的......
是的,您可以完成这种最终结果。
Function DoCalculation(Row1, Row2)
DoCalculation = Range("A" + Row1).Value + Range("D" + Row2).Value
End Function
还要进行测试以检查一次只发送一行。
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