2017-12-22 7 views
2

ユーザー定義関数(UDF)があり、ブックのすべてのワークシートにあります。代替コマンド(ActiveSheet)

機能が配置されているワークシートはどのように参照できますか?

私は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 

答えて

5

そのため、あなたはそのセルのワークシートを参照するためにApplication.Caller.Worksheetを使用することができ、関数を呼び出しているセルを参照するためにApplication.Callerを使用することができます。