我在文件A中有一个excel表格,每次的行数和列数都不同。我必须将表格从文件A中的excel表格复制到另一个文件B中。我正在尝试编写一个VBA,以便每次打开文件B时都会打开。将刷新名为"XYZ“的表。我可以很容易地复制内容,但复制标题是一个问题。它不起作用。我试图保持头部的静态(如下面的脚本),只复制头部下面的数据,但这并不能解决我的问题,因为头部可以被添加或减少。我还尝试删除当前表并复制新的表,但在这种情况下,我丢失了在基于文件B的工作表X的其他工作表上设置的MACros。
子刷新()
Dim MyFile As String
Dim Filepath As String
Filepath = ActiveWorkbook.Path
MyFile = "File A"
Sheet1.Rows(3 & ":" & Sheet1.Rows.Count).ClearContents
Workbooks.Open (Filepath & MyFile)
Worksheets("X").Activate
ActiveSheet.ListObjects("XYZ").DataBodyRange.Copy
Application.DisplayAlerts = False
ActiveWorkbook.Close
ActiveSheet.Paste Destination:=Worksheets("X").Range("A3")
End Sub发布于 2014-11-29 05:06:45
我有一个问题,你没有在你的脚本中处理。在我的例子中,标头正在改变。可以使用ActiveWorkbook.Range("XYZ#All").Copy,但当我将其复制到目标文件时,它不会覆盖目标文件中的现有表。在我的要求中,它必须被覆盖。否则,我在目标文件的其他工作表中的宏将显示错误#REF。我也尝试先删除所有数据,然后再粘贴,但即使这样,我也得到了错误#REF
https://stackoverflow.com/questions/27176458
复制相似问题