| 
    
     |  | こんにちは。 
 以下のxlsxを結合するマクロを使おうとしたら、問題が生じました。
 たとえばa.xlsxとb.xlsxがあったとしますと、
 先に開いたxlsxの最下行をポイントしたまではよかったのですが、その行に
 次に開いたxlsxの最上行つまりタイトル行がかぶってpasteされてしまい、その後、タイトル行がdeleteされます。
 つまり先に開いたxlsxの最下行のレコードがdeleteされてしまう のです。
 
 この問題を解決するにはどう記述すればよろしいでしょうか。
 
 
 Sub Test()
 Dim Files, FilesCnt As Integer, i As Integer
 Dim cBook As Workbook, pBook As Workbook
 
 Files = Application.GetOpenFilename _
 (FileFilter:="CsVFile(*.xlsx), *.xlsx", MultiSelect:=True)
 If IsArray(Files) Then
 Set pBook = Workbooks.Add(xlWBATWorksheet)
 FilesCnt = UBound(Files)
 For i = 1 To FilesCnt
 Workbooks.Open Files(i)
 Set cBook = ActiveWorkbook
 
 If i > 1 Then
 cBook.ActiveSheet.UsedRange.Offset(1, 0).Copy
 Else
 cBook.ActiveSheet.UsedRange.Copy
 End If
 
 With pBook.ActiveSheet
 .Cells(.Range("A65536").End(xlUp).Row, 1). _
 PasteSpecial (xlPasteAll)
 End With
 Application.CutCopyMode = False
 cBook.Close
 Next i
 End If
 
 ActiveWorkbook.SaveAs Filename:="D:\Test.xlsx", FileFormat:= _
 xlOpenXMLWorkbook, CreateBackup:=False
 
 ActiveWorkbook.Close Filename:="D:\Test.xlsx"
 
 MsgBox "終了しました。"
 
 Set cBook = Nothing: Set pBook = Nothing
 End Sub
 
 |  |