Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何使记录宏在其他工作簿上工作。伏卢库普斯_Vba_Excel - Fatal编程技术网

Vba 如何使记录宏在其他工作簿上工作。伏卢库普斯

Vba 如何使记录宏在其他工作簿上工作。伏卢库普斯,vba,excel,Vba,Excel,因此,在我的工作中,我们经常交叉引用部分。我希望创建一个VBA,它将VLOOKUP第2页的第13、14、23、24列,并将值复制和粘贴到第1页的R-U。我尝试在第一张工作表上记录宏,效果很好,但当我在其他工作簿上尝试时,它似乎不起作用。下面是我所拥有的。 子Vlookupandreplacetemplate() ' 'Vlookupandreplacetemplate宏 " " 结束子部分确保新的电子表格有“Sheet2”。在你的问题中没有这样的空间 我怀疑这就是您出错的地方。上面的代码没有问题

因此,在我的工作中,我们经常交叉引用部分。我希望创建一个VBA,它将VLOOKUP第2页的第13、14、23、24列,并将值复制和粘贴到第1页的R-U。我尝试在第一张工作表上记录宏,效果很好,但当我在其他工作簿上尝试时,它似乎不起作用。下面是我所拥有的。 子Vlookupandreplacetemplate() ' 'Vlookupandreplacetemplate宏 "

"


结束子部分

确保新的电子表格有“Sheet2”。在你的问题中没有这样的空间


我怀疑这就是您出错的地方。

上面的代码没有问题。这有点微妙,因为在运行代码之前需要选择表1中的单元格R2(否则该列的部分将无法工作)。还要确保你的新电子表格有一张“Sheet2”。在你的问题中没有这样的空间。我怀疑这就是你出错的地方。如果没有,那么请发布您得到的错误以及错误发生在哪一行。什么是“它似乎不起作用”。意思是??尝试阅读以下内容:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-16],Sheet2!C[-17]:C[64],13,0)"
Selection.AutoFill Destination:=Range("R2:R401")
Range("R2:R401").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-16],Sheet2!C[-17]:C[64],13,0)"
Range("S2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-17],Sheet2!C[-18]:C[63],14,0)"
Range("S2").Select
Selection.AutoFill Destination:=Range("S2:S401")
Range("S2:S401").Select
Range("T2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-18],Sheet2!C[-19]:C[62],23,0)"
Range("T2").Select
Selection.AutoFill Destination:=Range("T2:T401")
Range("T2:T401").Select
Range("U2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-19],Sheet2!C[-20]:C[61],24,0)"
Range("U3").Select
ActiveCell.FormulaR1C1 = ""
Range("U2").Select
Selection.AutoFill Destination:=Range("U2:U401")
Range("U2:U401").Select
Columns("R:U").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Selection.Replace What:="#N/A", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False