• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】 Copyメソッドの使用方法について)

【VBA】Copyメソッドの使用方法について

このQ&Aのポイント
  • EXCEL起動時に共有フォルダ内のEXCELシートよりマスタ情報を取得し、クライアント側のマスタ情報を最新情報に更新させたい。
  • 下記コードを実行すると12行目のCopyメソッドを発行時に「実行時エラー'1004' 'Copyメソッドは失敗しました: '_Worksheet'オブジェクト」というメッセージが表示されてしまいます。
  • 初歩的なコーディング誤りと思われますが、ご教授お願い申し上げます。

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

  • ベストアンサー
回答No.1

なぜこのコードを実行している Excel アプリケーションとは別に Excel アプリケーションを起動させるのでしょうか。。。 このコードを実行している Excel アプリケーションでマスター ファイルを開けばいいと思うのですが。 Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlBook = Workbooks.Open("共有ドライブ\マスタ情報.xls") Set xlSheet = xlBook.Worksheets("マスタ情報") xlSheet.Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)

HELP_OKWave
質問者

お礼

ご回答有難う御座いました。 EXCELアプリケーション起動につきましてもご指摘頂き、大変参考になりました。 社内SEに転向してからVBAを書く機会が増えましたので、今後とも宜しくお願い申し上げます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Sub auto_open() Set xlBook = Workbooks.Open("XXXX.xls") Workbooks("XXXX.xls").Worksheets("Sheet1").Copy After:=ThisWorkbook.Worksheets(3) xlBook.Close End Sub で旨くいきました。 XXXX.xlsブックのシートSheet1の内容をThisworkbookに当たるブックの第三番目のシートの後にコピー挿入しました。 これが#1で言及されていることだと思います。 あまりWEBの実例(CreateObjectの例)に囚われすぎでしょう。 参考 http://www.cocoaliz.com/excelVBA/index/38/

HELP_OKWave
質問者

お礼

ご回答有難う御座いました。 社内SEに転向してからVBAを書く機会が増えましたので、WEB実例に囚われずコーディングスキルを向上させたいと思います。 今後とも宜しくお願い申し上げます。

関連するQ&A