- 締切済み
Excel2003のVBA実行時エラーの解決法を教えてください。
> Excel2003のVBAでワークシートのコピーをしています。 時々、実行時エラー'1004'と表示されます。何処にbugがあるのか解りません 解決法を教えてください。 OS: WindowsXP servisPack3 CPU: intel Atom Memory: 2Gyga byte
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hana-hana3
- ベストアンサー率31% (4940/15541)
>20回ぐらい 《ボタン1》 を左クリックすると、エラーがでます。 この方法でのシートコピーの限界だと思います。 いろいろなゴミが貯まってメモリーも限界になっているのでしょうね。 以前にマクロを使って別の方法でコピーの実験をしたところ、数百枚コピーしても問題無く動作しました。 シート全体をコピーし、新規シート(空)を追加して新規シートにコピーデータを貼り付けると言う手順になります。 Worksheets("テンプレート").Cells.Copy Sheets.Add after:=Worksheets(Worksheets.Count) Worksheets(Worksheets.Count).Paste http://oshiete1.goo.ne.jp/qa2731854.html http://oshiete1.goo.ne.jp/qa1822561.html
- hana-hana3
- ベストアンサー率31% (4940/15541)
エラーが起きた場合、VBE(VBAの編集画面)を開くとエラー箇所が黄色く反転しているはずです。 その部分の処理を実行する際にエラーが起きているという表示です。 実際には、エラー番号と処理内容からエラー内容(原因)を推測する事になります。 "1004"エラーの場合、指定されてシートが存在しないなど、実際には存在していない名前などを指定している場合が多いようです。 エラーになっているコードが不明なので、上記程度の回答しかできません。
お礼
>hana-hana3 さん 回答どうも有り難うございました。codeは Sub ボタン1_Click() Sheets("テンプレート").Copy After:=WorkSheets(WorkSheets.Cont) End Sub です。 20回ぐらい 《ボタン1》 を左クリックすると、エラーがでます。一旦 WorkBook を終了し再度開くと復帰しますが、20回ぐらい で再びエラーになります。 ちなみに、エラーが出ているときVBAを終了させ手動でのシートのcopyをしてもエラーとなります。