Vba 指UDF中的特定单元格

Vba 指UDF中的特定单元格,vba,excel,for-loop,user-defined-functions,Vba,Excel,For Loop,User Defined Functions,UDF目标:将范围值与同一工作表上的特定单元格进行比较 出现错误#值 我认为,设置此单元格的通行证时出现的问题是ThisWorkbook.ThisWorkplace。如何胜任 Function Fav(Diapozon As Range) As Long Application.Volatile Dim n As Long For x = 1 To 4 For y = 0 To 1 If Diapozon.Value = Thi

UDF目标:将范围值与同一工作表上的特定单元格进行比较

出现错误
#值

我认为,设置此单元格的通行证时出现的问题是
ThisWorkbook.ThisWorkplace
。如何胜任

Function Fav(Diapozon As Range) As Long
    Application.Volatile

    Dim n As Long

    For x = 1 To 4
        For y = 0 To 1
            If Diapozon.Value = ThisWorkbook.Thisworksheet.Cells(x + 29, y + 10).Value Or  _
               Diapozon.Offset(0, 1).Value = ThisWorkbook.Thisworksheet.Cells(x + 29, y + 10).Value Then
                n = 1
            End If
        Next y
    Next x

    Fav = n
End Function

对。也许你是说活动表

Public Function Fav(ByVal Diapozon As Range) As Long
    Application.Volatile
    Dim n As Long, x As Long, y As Long
    For x = 1 To 4
        For y = 0 To 1
            If Diapozon.Value = ThisWorkbook.ActiveSheet.Cells(x + 29, y + 10).Value Or Diapozon.Offset(0, 1).Value = ThisWorkbook.ActiveSheet.Cells(x + 29, y + 10).Value Then
                n = 1
            End If
        Next y
    Next x
    Fav = n
End Function
如果仅在图纸中将其用作自定义项,请删除图纸参照:

Public Function Fav(ByVal Diapozon As Range) As Long
    Application.Volatile
    Dim n As Long, x As Long, y As Long
    For x = 1 To 4
        For y = 0 To 1
            If Diapozon.Value = Cells(x + 29, y + 10).Value Or Diapozon.Offset(0, 1).Value = Cells(x + 29, y + 10).Value Then
                n = 1
            End If
        Next y
    Next x
    Fav = n
End Function