从绝对和相对的angular度来看excel细胞

比方说,我有一个给定的范围作为一个函数的参数:

Function wrapper(current As range) 

现在我想获得左边的单元格的值( A列)。

例如,如果当前的单元格是H12 ,我想获得单元格文本在A12

感谢您的帮助


好吧,让我们抛开上面的问题。 一般来说,我想要实现的是获取Rangetypes的variables。 在下面的例子中:

 Function wrapper(current As range) Set hardwarePos = Cells(current.Row, 1) 

我的hardwarePos的types设置,我不能传递给另一个函数(GetFormula(var作为范围)。

 Function wrapper(current As range) Set hardwarePos = Cells(current.Row, 1) wrapper = GetFormula(hardwarePos) 

这不工作…


感谢您的提示。 我喜欢KazJaw解决它的方式,但是我仍然有一些问题。 为什么这不起作用:

 Function wrapper(current As range) Dim hardwarePos As range hardwarePos = Cells(current.Row, 1) wrapper = hardwarePos.Text End Function 

作为一个公式 (不含VBA)

 =INDIRECT(ADDRESS(ROW(),1)) 

VBA

 Function wrapper(current As Range) wrapper = Sheets(current.Parent.Name).Cells(current.Cells(1).Row, 1).Value End Function 

用这个:

 Public Function wrapper(current As String) Dim newCell As String newCell = Range(current).Offset(0, -1).Address ' Range(newCell).Select ' Range(newCell).value = "blabla" End Function 

它从当前单元格获取地址,并使用它获取以列方式的前一个单元格的地址(带有offsetfunction,-1表示“剩余一列”)

然后通过使用Range(newCell)你可以做到你想要的单元格,select,书写,ecc。

你可以调用包装: wapper(MyCell.Address)