替代命令(ActiveSheet)

时间:2017-12-22 07:52:42

标签: vba excel-vba user-defined-functions worksheet excel

有用户定义的函数(UDF),它位于工作簿的所有工作表中。

如何参考功能所在的工作表?

我正在使用ThisWorkbook.ActiveSheet,但结果不断变化。

Function äëÿñèò(Diapozon As Range) As Long
      'äëÿ ñèòóàöèè
    Application.Volatile
    Dim n As Long
    Dim C As Range
    Dim m As Long

    m = -1
    n = 0
    For Each C In Diapozon.Rows

    If C.Value = 1 Then
     m = m + 1
    If ThisWorkbook.ActiveSheet.Cells(101, 42 + (m * 21)).Value = 1 Then
    n = n + 1
    End If
    End If
    Next C

    äëÿñèò = n
End Function

1 个答案:

答案 0 :(得分:6)

您可以使用Application.Caller.Worksheet来引用正在调用该函数的单元格,因此您可以使用{{1}}来引用该单元格的工作表。