【问题标题】:Excel strLookup Help (Dynamnic worksheet value)Excel strLookup 帮助(动态工作表值)
【发布时间】:2015-09-12 08:55:37
【问题描述】:

美好的一天 我正在尝试使用 strLookup 从不同的工作簿运行 vlookup。 如果工作簿和工作表名称是静态的,则效果很好;但是我需要从我之前在宏中定义的字符串中插入一个动态工作表名称,它不起作用

我尝试了以下

这个作品:

strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]40'!A:B"


这些不起作用(试图将工作表名称“40”更改为之前定义的动态值(DailyWeek -1)

strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx](Dailyweek -1)'!A:B"

strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]Dailyweek -1'!A:B"

有什么想法吗? 谢谢

下面是我的整个代码:

Dailyweek = Workbooks("AR Reporting Tool.xlsm").Worksheets("Reports").Range("G30")

Dim sh As Worksheet, flg As Boolean
For Each sh In Worksheets

If sh.Name Like (Dailyweek - 1) Then flg = True: Exit For
Next

If flg = True Then
    'MsgBox "Found!"
    wbk4.Sheets("UAE").Activate
    With wbk4.Sheets("UAE")
    Set clDest = .Range("N2")
    Set clLookup = .Range("A2")
    strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[UAE FM.xlsx](Dailyweek -1)'!A:B"
    End With

    If clLookup.Offset(1, 0) <> vbNullString Then
    rws = Range(clLookup, clLookup.End(xlDown)).Rows.Count
    Set clDest = clDest.Resize(rws, 1)
    End If
    clDest.Formula = "=IFERROR(VLOOKUP(" & clLookup.Address(False, False) & "," & strLookup & ",2,0),0)"
    clDest.Value = clDest.Value ' Convert to value

else
  msgbox "Doesnt exist"
end if

【问题讨论】:

  • 需要更多代码。很难说你到底在做什么。

标签: excel vlookup vba


【解决方案1】:

你只需要正确地构造你的字符串。
大概是这样的吧?

strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File" _
    & "\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]" _
    & (Dailyweek -1) & "'!A:B"

【讨论】:

  • 有时最小的事情也会让人看起来很愚蠢:) 非常感谢,工作完美
  • @user3800275 这可以通过实践和经验来改进。顺便说一句,大事源于小事,而大多数时候,小事才是最重要的。
  • 感谢像你这样出来帮助别人的人,感激不尽!!
  • @user3800275 你也可以这样做 :) 如果你有空来这里回答别人的问题。
猜你喜欢
  • 2021-06-06
  • 1970-01-01
  • 2015-09-04
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
相关资源
最近更新 更多