• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA アプリケーション定義またはオブジェクト定義エラーについて)

VBA アプリケーション定義またはオブジェクト定義エラーについて

このQ&Aのポイント
  • VBAでdoc_wbkというブックのSheets(2)の内容をdoc_wbk2のActiveSheetにコピーしようとしていますが、5行目で「アプリケーション定義またはオブジェクト定義エラー」が出てしまいます。
  • ブックやシートまで指定しないといけないのかと思い、5行目行頭にdoc_wbk.Sheets(2)を追加しましたが変わりません。
  • Sheets(2)の内容をコピーするにはどうすれば良いでしょうか?

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

CellsとRangeが別々のシートを見ているためです 単に Cellsと書いてしまうと Withから外れてしまいます .Range( Cells(4,1), Cells(row_num,11) ) と記述すると RangeはSheets(2) Cells(4,1)とCells(row_num,11)はActiveSheetになります これでは Excelは困ってしまうわけです .Range( .Cells(4,1), .Cells(row_num,11) ) とWithが掛かるように『.Cells』と記述しましょう

noname#76338
質問者

お礼

ありがとうございます。 エクセルオブジェクトは扱うのが難しいですね。 VBAコマンド解説等のサイト見てもこのような規則について説明してあるところがないですからね。

関連するQ&A