【问题标题】:User defined function with a variable workbook argument具有可变工作簿参数的用户定义函数
【发布时间】:2020-12-05 15:07:22
【问题描述】:

我想构建一个函数来检查一个值是否在工作簿中,然后返回 true 或 false,以便我可以在循环结果的 sub 中使用结果。

这是我写的:

Function check(A As String, rg As Range) As Boolean
Dim cell As Range

For Each cell In rg
    If cell.Value = a Then
        check = True
        Exit Function
    Else
        check= False
    End If
Next cell
End Function

这没有任何回报。

如果我在函数中添加工作簿范围,例如:

workbook(x).worksheet(y).range("a1:a100") 

这可行,但我想将此功能用于不同的工作簿范围。这可能吗?

【问题讨论】:

    标签: excel vba function user-defined-functions


    【解决方案1】:

    这取决于你如何使用 UDF:

    Sub Morresi()
        MsgBox check("A", Range("A1:A100"))
    End Sub
    

    将传递活动工作簿的活动工作表上的范围,但是:

    Sub Morresi2()
        MsgBox check("A", Workbooks("xxx.xlsm").Sheets("Sheet3").Range("A1:A100"))
    End Sub
    

    将传递特定打开工作簿上的范围和该工作簿上的特定工作表。

    【讨论】:

    • 谢谢,我想我发现我做错了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2011-01-08
    • 1970-01-01
    • 2015-08-03
    • 2018-09-14
    • 1970-01-01
    相关资源
    最近更新 更多