前提・実現したいこと
Excel2016 VBAで別のブックのシートの内容をコピーしたいと思っています。
別のブックはダイアログボックスを開いて選択できるようにし、
コピー元のシートはコピー元のブックの一番右にあるシートを自動で選択、コピー
出来る様にしようと考えています。
発生している問題・エラーメッセージ
コピー先のブックでマクロを起動すると、コピーは成功するのですが、シートの選択がうまくいきません。
一番右のシートという指定をしていると思ったのですが、コピー先のブックのシート数とコピー元のブックのシート数が一致しているシートしかコピーできません。(わかりずらくてすみません)
bookA(コピー先)
(sheet1)(sheet2)
bookB(コピー元)
(sheet1')(sheet2')(sheet3')
BからAにコピーしようとしたとき、sheet3'をsheet2にコピーしたいのですが、
sheet2にはsheet2'がコピーされてしまいます。
該当のソースコード
Excel
1Sub () 2 '変数の指定 3 Dim tarwb As Workbook 4 Dim M As Long 5 Set tarwb = Workbooks("test_masterbook.xlsm") 6 '開くファイルを操作者に選択させる 7 Application.Dialogs(xlDialogFindFile).Show 8 '開いたファイルの一番右のシートのセルをコピー 9 ActiveWorkbook.Sheets(Sheets.Count).Range("A2:F50").Copy 10 '開いたファイルを閉じる 11 Application.DisplayAlerts = False 12 ActiveWorkbook.Close 13 Application.DisplayAlerts = True 14 '最終行の取得&コピペ 15 M = tarwb.Worksheets(Worksheets.Count).Cells(Rows.Count, 1).End(xlUp).Row 16 tarwb.ActiveSheet.Range("A" & M).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, operation:=multiply 17 18End Sub
試したこと
補足情報(FW/ツールのバージョンなど)
以上です。説明等分かりずらくてすみません。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/22 04:04 編集
2019/05/22 04:32