Excel表副本

时间:2014-11-27 17:47:43

标签: excel-vba excel-tables vba excel

我在文件A中有一个excel表。 行数和列数每次都不同。 我必须将表格从文件A中的这个excel表复制到另一个文件B.我正在尝试编写一个VBA,以便每次打开文件B.该表名为" XYZ"刷新了。我可以轻松复制内容,但复制标题是一个问题。这是行不通的。我试图保持标头静态(如下面的脚本)并仅复制标题下面的数据,但这不能解决我的问题,因为标题可以添加或减少。 我还尝试删除当前表并复制新表,但在这种情况下,我根据文件B的表X放宽了我在其他工作表上设置的MAC。

Sub Refresh()

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

1 个答案:

答案 0 :(得分:0)

我遇到的问题是你没有处理过你的脚本。在我的情况下,标题正在改变。 ActiveWorkbook.Range(“XYZ [#All]”)。可以使用复制,但是当我复制目标文件时,它不会覆盖目标文件中的现有表。在我的要求中,它必须覆盖。否则我的目标文件的其他工作表中的宏显示错误#REF。我还尝试先删除所有数据,然后粘贴,但即使这样我也收到错误#REF