参考特定功能列

时间:2020-02-07 17:20:41

标签: excel vba function reference

我正在尝试删除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

1 个答案:

答案 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指出的那样,现在函数必须是易失性的,这只会增加开销。