【问题标题】:worksheets name as seeked value for Vlookup工作表名称作为 Vlookup 的搜索值
【发布时间】:2018-08-29 19:53:03
【问题描述】:

对于我的发送电子邮件宏,我想使用查找值是选项卡名称的 vlookup。通过使用标签名称,我会从其中一个工作表中获得一个电子邮件地址。不幸的是,我的代码不起作用:

Sub znajdzadres()
Dim ws As Worksheet
Dim eadr As Variant
Dim nameW As Variant
nameW = ws.Name

eadr = "Application.WorksheetFunction.VLookup([nameW],DOSTAWCY!R2C1:R83C3,3,0)"




End Sub

【问题讨论】:

    标签: excel vba vlookup worksheet-function


    【解决方案1】:

    在应用工作表函数时不要引用公式,并使用适当的工作表/范围引用按原样应用字符串 var。

    Dim eadr As Variant
    Dim nameW As Variant
    
    nameW = ActiveSheet.Name
    
    eadr = Application.WorksheetFunction.VLookup(nameW, worksheets("DOSTAWCY").range("A2:C83"), 3, 0)
    
    debug.print eadr 
    

    【讨论】:

    • 您能详细说明一下吗? @Jeeped Sub znajdzadres() Dim ws As Worksheet Dim eadr As Variant Dim nameW As Variant nameW = ActiveSheet.Name eadr = Application.WorksheetFunction.VLookup(nameW, DOSTAWCY!R2C1:R83C3, 3, 0) Debug.Print eadr End Sub
    • 是的,工作表和范围不应该保留为工作表公式语法;我已经更新了。
    • 现在运行时 91。请求 nameW 调试
    • 一旦我创建了一个名为 DOSTAWCY 的工作表,其中包含 A 列中的活动工作表名称的表,对我来说效果很好。
    • 我收回了它,就像一个魅力!!!!!!!!!!!!!!!!!!!谢谢@Jeeped
    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多