0

我想编写一个自定义函数,而不是提供单个单元格的数据,我想只提供行号作为参数,然后引用列字母,就好像它是一个数组或对象一样。

例如

Function DoCalculation(Row1, Row2)
    DoCalculation = Row1[A] + Row2[D]
End Function

这样的事情可能吗?否则,每次我想使用该函数时,传入接近十几个我将使用的参数将是非常乏味的......

4

2 回答 2

1

是的,您可以完成这种最终结果。

Function DoCalculation(Row1, Row2)
    DoCalculation = Range("A" + Row1).Value + Range("D" + Row2).Value
End Function
于 2013-08-01T19:49:41.563 回答
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
于 2013-08-02T05:11:39.873 回答