2

ファイル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
4

1 に答える 1

0

I have the problem that you have not dealt in your script. In my case the headers are changing. ActiveWorkbook.Range("XYZ[#All]").Copy can be used but when I copy it destination file it does not overwrite the existing table in destination file. In my requirement it must over-write. Otherwise my macros in other work sheets of destination file show error #REF . I also tried to delete all data first and then paste but even then I got error #REF

于 2014-11-28T21:06:44.717 に答える