Sah*_*rma 0 excel vba excel-vba
我正在尝试创建一个简单的vlookup宏,它从另一个工作簿获取数据并执行vlookup以及自动填充
我要求用户输入选择vlookup将查找单元格的文件(目标文件)
问题:
我可以从路径中提取文件名,但是如果我尝试直接在公式中传递变量(excel工作簿名称),它就不起作用
需要有关相同的指导
到目前为止我的代码是这样的:
Sub Macro1()
'
' Macro1 Macro
' pdf
'
' Keyboard Shortcut: Ctrl+w
'
Dim fNameAndPath As Variant
fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSX), *.XLSX", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Workbooks.Open Filename:=fNameAndPath
Filename = Right(fNameAndPath, Len(fNameAndPath) - InStrRev(fNameAndPath, "\"))
'MsgBox Mid(filname, 1, InStr(filname, ".") - 1)
Windows("PDF_Avatar_Geltool.xlsm").Activate
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'[Filename]3G_HW_BDR'!C4:C5,2,0)"
Windows("3G_Allcells.xlsx").Activate
Windows("3G_Allcells.xlsx").Activate
End Sub
Run Code Online (Sandbox Code Playgroud)
您当前正在将字符串"filename"传递给公式.您只需将变量连接到公式中即可.
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'[" & Filename & "]3G_HW_BDR'!C4:C5,2,0)"
Run Code Online (Sandbox Code Playgroud)
无论何时在字符串中包含变量,都需要使用&符号将其连接到字符串中.
归档时间: |
|
查看次数: |
830 次 |
最近记录: |