- ベストアンサー
【VBA】Copyメソッドの使用方法について
- EXCEL起動時に共有フォルダ内のEXCELシートよりマスタ情報を取得し、クライアント側のマスタ情報を最新情報に更新させたい。
- 下記コードを実行すると12行目のCopyメソッドを発行時に「実行時エラー'1004' 'Copyメソッドは失敗しました: '_Worksheet'オブジェクト」というメッセージが表示されてしまいます。
- 初歩的なコーディング誤りと思われますが、ご教授お願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なぜこのコードを実行している 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)
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
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/
お礼
ご回答有難う御座いました。 社内SEに転向してからVBAを書く機会が増えましたので、WEB実例に囚われずコーディングスキルを向上させたいと思います。 今後とも宜しくお願い申し上げます。
お礼
ご回答有難う御座いました。 EXCELアプリケーション起動につきましてもご指摘頂き、大変参考になりました。 社内SEに転向してからVBAを書く機会が増えましたので、今後とも宜しくお願い申し上げます。