前提・実現したいこと
ワークブックAのシートAのB5:B7をコピーしワークブックBのシートBのF32列の一番右の埋まっているセルの一つ右隣にペースト(マクロを起動するたびに右隣のセルにペーストされていく様な)するマクロを作りたいです。
発生している問題・エラーメッセージ
実行時エラー'1004' アプリケーション定義またはオブジェクト定義のエラーです
該当のソースコード
' 処理高速化用:関数開始時に実行する処理セット Function startFunc() With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual End With End Function ' 処理高速化用:関数終了時に実行する処理セット Function endFunc() With Application .ScreenUpdating = True .EnableEvents = True .Calculation = xlCalculationAutomatic End With End Function ' コピー処理 Function book2bookCopy(srcSheet As String, srcRange As String, _ dstBook As String, dstSheet As String, dstRange As String) ' 処理高速化用:開始処理 Call startFunc With Workbooks.Open("ワークブックB") ' コピー ThisWorkbook.Worksheets(srcSheet).Range(srcRange).Copy .Worksheets(dstSheet).Range(dstRange).PasteSpecial _ xlPasteValuesAndNumberFormats ' コピー中状態を解除 Application.CutCopyMode = False ' 処理高速化用:終了処理 Call endFunc ' 保存して閉じる .Close True End With End Function ' テスト実行用 Function test() Call book2bookCopy("シートA", "B5:B7", "ワークブックB", "シートB", "Range(A1).End(ToRight).Offset(1, 0).") End Function
試したこと
Range(A1).End(ToRight).Offset(1, 0)を単一セル(F32等)に変更すると実行できたのでこの箇所が原因かと思われます。
補足情報(FW/ツールのバージョンなど)
Excel 2016 VBA
『F32列の一番右の埋まっているセルの一つ右隣~』
F列ってことでしょうか?(F32は単一セルです)
F列なら、なぜdstRangeにRange(A1).End(ToRight)...を指定しているのでしょうか?
質問を見直して頂けますか?
回答1件
あなたの回答
tips
プレビュー