2

有什么方法可以使用索引号来引用特定的单元格,例如在 VBA 中如何使用Cells(3,2)来引用单元格 C2。

我希望"=CELLS(3,2)"能奏效,但遗憾的是,这似乎不存在。还有另一种方法吗?

编辑:

我应该澄清一下,我需要在 SUM() 工作表函数中使用它,因此它需要返回单元格引用,而不是单元格内的值。

4

3 回答 3

5

您可以使用该OFFSET(original_range,rowsOffset,colOffset)公式来获取对范围的引用,该范围是从工作表上的某个点开始的特定偏移量。

您还可以传递两个附加参数来确定返回范围的#rows 和#columns:

=SUM(OFFSET(A1,0,0,12,1))

将为您提供从 A1 开始的 12 行乘 1 列的范围。

=SUM(OFFSET(A1,2,2,12,1)) 将从 C3 开始

就像Offset(r,c).Resize(12,1)在 VBA 中做的那样

于 2013-07-01T22:08:21.647 回答
2

您可以更改参考样式...对于我正在编写的某些函数,我通常更喜欢 R1C1 参考样式。

这是一个显示如何访问它的链接: http ://www.excelqa.info/2010/12/06/switch-to-r1c1-reference-style-in-excel-2010/

于 2013-07-01T21:29:44.090 回答
1

您可以编写一个自定义公式来处理它。

    Public Function customFunction(a As Integer, b As Integer, Optional sh As String)
If sh <> "" Then
    customFunction = Sheets(sh).Cells(a, b).Value
Else
    customFunction = Cells(a, b).Value
End If
    End Function
于 2017-02-28T16:41:15.210 回答