从绝对和相对的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
它从当前单元格获取地址,并使用它获取以列方式的前一个单元格的地址(带有offset
function,-1表示“剩余一列”)
然后通过使用Range(newCell)
你可以做到你想要的单元格,select,书写,ecc。
你可以调用包装: wapper(MyCell.Address)