[[20040311160037]] 『コピーを繰り返すと148回目で1004エラー』(Misa) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コピーを繰り返すと148回目で1004エラー』(Misa)

[マクロにて、シートのコピーを繰り返すと、148回目で1004エラー]

テキストデータを読込んで1シートに整形し、グループコードで並べ替えた後で、グループが変わったら雛型シートからコピーしてシートを追加して、グループが同じ間明細を新規シートへコピーしています。

読込んだデータは約3000件、グループ数は151種ありました。
(つまり、151回も雛型シートを元に新規シートを作成することになります。)

でも、148シート目を作成した時に、

   1, Windows(ToolBook).Activate
   2, Sheets("StyleSheet").Select
   3, Sheets("StyleSheet").Copy Before:=Workbooks(NewBook).Sheets(1)
   4, Sheets(ActiveSheet.Name).Name = GroupCD       'Sheet名の設定
3行目の部分で
「実行時エラー 1004:WorksheetクラスのCopyメソッドが失敗しました。」
となってしまいます。

雛型シートを手作業でコピーした時には、500シートでも問題なかったのですが、マクロでは、まっさらシートのコピーも148回目でエラーになってしまいます。
(苦し紛れに1ブック100シートとしてブック分けして対処しています)
ご存知のかたがいらっしゃいましたら、教えてください。


 EXCELのメモリ不足だと思います。
 このメモリはEXCELのアプリケーションに割り当てられているメモリですので、 
 パソコンに内蔵されている物理メモリとは関係がありません。
 作業によって消費されたメモリを回復するには、EXCELを再起動してください。

 ちなみに1ブックの最大シート数も、使用可能メモリに依存します。
 こちらの場合、シートのデータ量に応じて変化します。

  (INA)

書き込みありがとうございます。
別のマシンでも、まったく同じデータのところでエラーになったので、御指摘がうなづけるのですが、まっさらシートをコピーするだけでも同じシート数でエラーになったり、手作業だとエラーにならなかったり...という部分が不思議です。
(エラーになって、Excel再起動せずにシートを500枚も作れてしまいました!)

ということで、もう少し教えてください...!


 よくわかりませんが、
 on error resume next
 '処理

 if err.number = 1004 then
   Msgbox "エラー発生 1004"
   err.clear
 elseif err.number <> 0 then
   msgbox
 end if 

 として、1004以外のエラーが発生するか確認してみては?
 あと、Activate や Select といった、不要な選択処理はしないようなコード
 にしては如何でしょうか?

   (INA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.