Vba 打开工作簿提示多次
每天有几次我收到一份文件。我正在尝试尽可能地自动化它,其中一部分将包括使用宏,该宏允许您选择要vlookup的文件(每次文件名都不同)。“我的宏”会运行,但由于某些原因,它会提示您选择文件3次。我在代码上尝试了一些变体,但没有任何效果。有人知道为什么吗?它在第一次打开文件时提示一次,在用公式填充第一个单元格时提示一次,在宏用vlookup公式填充列时提示一次。我已将相关部分粘贴到下面:Vba 打开工作簿提示多次,vba,excel,Vba,Excel,每天有几次我收到一份文件。我正在尝试尽可能地自动化它,其中一部分将包括使用宏,该宏允许您选择要vlookup的文件(每次文件名都不同)。“我的宏”会运行,但由于某些原因,它会提示您选择文件3次。我在代码上尝试了一些变体,但没有任何效果。有人知道为什么吗?它在第一次打开文件时提示一次,在用公式填充第一个单元格时提示一次,在宏用vlookup公式填充列时提示一次。我已将相关部分粘贴到下面: Dim MyFile As String MyFile = Application.GetOpenFilena
Dim MyFile As String
MyFile = Application.GetOpenFilename
Set firstWB = ActiveWorkbook
Set mySheet = ActiveSheet
Set wbLookup = Workbooks.Open(MyFile)
firstWB.Activate
mySheet.Range("T2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-18],'[wbLookup]tempemail'!R2C2:R123C20,19,0)"
Range("S1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown
Columns("t:t").EntireColumn.AutoFit
Columns("T:T").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
wbLookup.Close False
Range("U1").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Range("U1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Columns("u:u").EntireColumn.AutoFit
End Sub
谢谢
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-18],'[wbLookup]tempemail'!R2C2:R123C20,19,0)"
除非wbLookup
是您的文件名,否则这将不起作用。Excel会看到这一点,并提示您输入实际名称
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-18],'[" & wbLookup.Name & "]tempemail'!R2C2:R123C20,19,0)"
可能会更好
这:
…可以由以下内容取代:
Columns("T:T").Value = Columns("T:T").Value
大量的选择/激活是不必要的,最好避免:您的子系统名称是什么?
Columns("T:T").Value = Columns("T:T").Value