有关 Application.Caller with VBA in Excel 的详细信息



我一直在代码中比较使用Application.Caller。当用户单击命令按钮时,我假设 Application.Caller 返回命令按钮的名称,但不确定。

我正在尝试做类似的事情:msgbox(Application.Caller),但意识到它不是正确的数据类型。我将如何弄清楚Application.Caller实际上是什么?

如该链接所示,Application.Caller并不总是String类型

您正在使用比较 2 个字符串的StrComp。我建议使用它。

Sub Sample()
    If TypeName(Application.Caller) = "String" Then
        MsgBox StrComp(Application.Caller, "Button1")
    End If
End Sub

并将此宏分配给工作表上的表单按钮。

如果您看到我之前给出的链接中给出的示例,那么您会自动清楚:)

Select Case TypeName(Application.Caller)
    Case "Range"
        v = Application.Caller.Address
    Case "String"
        v = Application.Caller
    Case "Error"
        v = "Error"
    Case Else
        v = "unknown"
End Select

相关内容

最新更新