Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8234 / 76732 ←次へ | 前へ→

【74075】excel結合時レコードがdeleteされないようにするには
質問  にしもり  - 13/4/16(火) 12:26 -

引用なし
パスワード
   こんにちは。

以下の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

0 hits

【74075】excel結合時レコードがdeleteされないようにするには にしもり 13/4/16(火) 12:26 質問
【74076】Re:excel結合時レコードがdeleteされないよ... kanabun 13/4/16(火) 13:01 発言
【74077】Re:excel結合時レコードがdeleteされないよ... kanabun 13/4/16(火) 13:06 発言
【74079】Re:excel結合時レコードがdeleteされないよ... にしもり 13/4/16(火) 17:51 お礼
【74080】Re:excel結合時レコードがdeleteされないよ... kanabun 13/4/17(水) 9:38 発言
【74081】Re:excel結合時レコードがdeleteされないよ... kanabun 13/4/17(水) 9:52 発言
【74082】Re:excel結合時レコードがdeleteされないよ... にしもり 13/4/17(水) 10:42 お礼

8234 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free