アプリ版:「スタンプのみでお礼する」機能のリリースについて

> Excel2003のVBAでワークシートのコピーをしています。
時々、実行時エラー'1004'と表示されます。何処にbugがあるのか解りません
解決法を教えてください。
 OS: WindowsXP servisPack3
 CPU: intel Atom
 Memory: 2Gyga byte

A 回答 (2件)

>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
    • good
    • 0

エラーが起きた場合、VBE(VBAの編集画面)を開くとエラー箇所が黄色く反転しているはずです。


その部分の処理を実行する際にエラーが起きているという表示です。

実際には、エラー番号と処理内容からエラー内容(原因)を推測する事になります。
"1004"エラーの場合、指定されてシートが存在しないなど、実際には存在していない名前などを指定している場合が多いようです。

エラーになっているコードが不明なので、上記程度の回答しかできません。
    • good
    • 0
この回答へのお礼

>hana-hana3 さん
 回答どうも有り難うございました。codeは

 Sub ボタン1_Click()
     Sheets("テンプレート").Copy After:=WorkSheets(WorkSheets.Cont)
 End Sub
です。
  20回ぐらい 《ボタン1》 を左クリックすると、エラーがでます。一旦 WorkBook を終了し再度開くと復帰しますが、20回ぐらい で再びエラーになります。

ちなみに、エラーが出ているときVBAを終了させ手動でのシートのcopyをしてもエラーとなります。

お礼日時:2010/02/20 02:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!