我正在尝试删除CellRef As Range
作为参数,因此用户只需要输入函数名称即可。如何引用带有相对行的绝对列? (即$G4
)。
Function CO_NAMEREFORM(CellRef As Range) As String
'=LEFT($G4,FIND("/",$G4)+1)
CO_NAMEREFORM = Left(CellRef, InStr(CellRef, "/") + 1)
End Function
答案 0 :(得分:1)
您可以使用Application.ThisCell
。
Public Function CO_NAMEREFORM() As String
Application.Volatile
With Application.ThisCell
Dim CellRef As Range
Set CellRef = .Parent.Range("G" & .Row)
End With
'=LEFT($G4,FIND("/",$G4)+1)
CO_NAMEREFORM = Left(CellRef.Value, InStr(CellRef.Value, "/") + 1)
End Function
但是在我(和其他人)看来,这是一个坏想法-正如@Scott Craner指出的那样,现在函数必须是易失性的,这只会增加开销。