• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ThisWorkbookの使い方)

ThisWorkbookとActiveWorkbookを正しく選択してデータをコピーする方法

このQ&Aのポイント
  • ThisWorkbookとActiveWorkbookの使い方で悩んでいます。ThisWorkbookのデータをActiveworkbookにコピーしようとしていますが、正しく選択してくれているように見えますが、実際にコピーする作業のところでエラーが発生します。
  • Sendbookという変数を追加してThisWorkbookのデータを同じファイルに書き込む方法を試していますが、アプリケーション定義またはオブジェクト定義のエラーが発生しています。
  • 正しいコピー方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ESE_SE
  • ベストアンサー率34% (157/458)
回答No.1

ActiveWorkbookというのは「現在アクティブになっているワークブック」のことですから その時々によってアクティブなブックが選択されることになります。 そういう意味では相対的な指定ですね。 割り込みなんかが入ったり、開いたファイルがアクティブにならなかったりすると厄介ですね。 私ならこんな感じに。 ThisWorkbook.Sheets("Sheet3").Range(Cells(6, 3), Cells(lrow, 3)).Copy Workbooks(Dir(temp)).Sheets(1).Cells(6, 3) Dir(パス文字列) でファイル名のみを取得し、Workbooksの引数にすることで 既に開いているファイルのWorkbooksオブジェクトを取得します。

intyiyasaka
質問者

お礼

ESE_SE さん 丁寧な回答、ありがとうございました。 こういう方法があったんですね。 しかも解説つきで、私でもよく理解することができました。 以前にもThisWorkbookで四苦八苦したのですが、 ActiveWorkbookの扱いも簡単そうで難しいです。 応用力のなさを痛感します。 ありがとうございました。

関連するQ&A

専門家に質問してみよう