0
したがって、約16枚のファイルにすべて同じ名前の約21枚のシートがあります。すべての書式などはまったく同じです。たとえば、すべての16枚のファイルの「年齢」を含むすべてのシートを、すべての「年齢」の集計データを含む「年齢」シートを持つマスターファイルに結合する必要があります。シート。他の20種類のシートについても同様です。同じ名前の異なるワークブックのシートをマスターワークブックに結合します
どのようにこれを正確に行うかわかりません。私は現在、ファイル内のすべてのシートを1つのマスターブックにまとめているマクロを持っています。これを変更して、すべてのブックを1つのブックに追加するのではなく、同様のシートを組み合わせています。 アイデアをいただければ幸いです!
Sub AddAllWS()
Dim wbDst As Workbook
Dim wbSrc As Workbook
Dim wsSrc As Worksheet
Dim MyPath As String
Dim strFilename As String
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
MyPath = "C:\Documents and Settings\path\to"
Set wbDst = ThisWorkbook
strFilename = Dir(MyPath & "\*.xls", vbNormal)
If Len(strFilename) = 0 Then Exit Sub
Do Until strFilename = ""
Set wbSrc = Workbooks.Open(Filename:=MyPath & "\" & strFilename)
Set wsSrc = wbSrc.Worksheets(1)
wsSrc.UsedRange.Copy
wsSrc.Paste (wbSrc.Range("A" & Rows.Count).End(xlUp).Offset(1))
wbSrc.Close False
strFilename = Dir()
Loop
wbDst.Worksheets(1).Delete
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
簡単に言えば、「Range」の前にどのようにワークシートを置いたのでしょうか?あなたは 'Rows.Count'、' Columns.Count'、 'Cells()'などで同じことをする必要があります。そうしなければ、VBAは本当にすばやく混乱することがあります。それを実行して問題が解決したかどうかを確認してください。 (少なくとも、コードを強化するのに役立つだろう!) – BruceWayne