ファイルAにExcelテーブルがあります。行と列の数は毎回異なります。ファイルAのこのExcelテーブルから別のファイルBにテーブルをコピーする必要があります。ファイルBが開かれるたびにVBAを書き込もうとしています。「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