Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7全般 : Excel 2013)
シート365枚の移動
投稿日時: 18/05/16 07:21:53
投稿者: ngc1955

マクロがある業務日誌ブックです。
管理用の4枚のシートと日報1年分365枚で構成されています。
 
集計を取るマクロにバグがあったので配布先に日報なしの修正版を送り日報分だけ移動またはコピーで作業してもらいました。
こちらで5回ほど確認しましたが途中「応答なし」になることもありましたが復活して概ね4分くらいで完了します。保存もその後の動作も問題ありません。
 
ところが配布先でこの作業をするとシートは完全に移動できるのですが完了後上書き保存も名前を付けて保存もできないということです。メモリが不足していますと出ることもあるようです。
 
シートはA4で1ページくらいの内容でVBAフォームと手書きで書きこんいるだけでシート自体に関数全くありません。また複雑な書式設定はありません。
 
これは単にPCの能力とメモリの問題でしょうか。他に点検すべき点はありますか?

回答
投稿日時: 18/05/16 10:55:15
投稿者: Suzu

コードもデータ構成も判らないので原因には言及できません。
 
 
365シート。。私ならいやです。
 
少なくとも月単位とか、、
データテーブルと、差し込みテンプレート 構造にするとか。。
 
構造としては判り易いかもしれませんが メンテナンス等 考えたら。。
 
 
また、少なくともテスト環境で

引用:
こちらで5回ほど確認しましたが途中「応答なし」になることもありましたが復活して概ね4分くらいで完了します。

が起こっているのに、【問題ありません。】と判断された事自体に問題があると思います。
 
コードのメンテナンスの度に、同様の事が起きるのですよ?
普通は、データのワークブック、マクロのワークブック 分けます。
 
 
あくまでも、現状環境で使うのであれば
VBAが書かれたコードにシートをコピーではなく
シートが存在するワークブックのVBAの内容を入れ替える方法を行いましょう。

回答
投稿日時: 18/05/16 11:30:13
投稿者: WinArrow
投稿者のウェブサイトに移動

説明だけでは原因を想像することすら出きません。
  
 >集計を取るマクロにバグがあったので配布先に日報なしの修正版を送り日報分だけ移動またはコピーで作業してもらいました。
この説明は、マクロを修正した新しいブックを送付し、
 既存のワークシートを新しいブックにコピーしてもらう
 といった手順でしょうか?
  
若し、そうであるならば、いい機会ですから・・・
新しいマクロブックの仕様を、自ブックのシートを取り扱うのではなく、
他ブック(既存ブック)のワークシートを取り扱うように変更したらいかがでしょうか?
既存ブックのマクロは、削除するつもりで・・・
  
今後もマクロの修正や変更はあり得るので、
マクロブックだけ置き換えれば済むので運用としては楽になります。
  
   
  

投稿日時: 18/05/16 22:02:53
投稿者: ngc1955

SuzuさんWinArrowさん、すぐに回答いただきありがとうございます。
 
実はこのブックを作ったのは5年前でその時はさすがに私も365枚のシート
のブックなどだいじょうぶかなあと思っていたのですが、立ち上がりこそ時間が
かかるものの動き出してしまうと非常に軽快です。
 
またVBAコードも以前から使っていたもので枯れていたので大きな事故もなく
慢心していました。
 
しかし昨年、勤怠管理が大幅に変更になりコードの変更とデバッグが一気に
問題化してきました。ようやく4月に間に合わせて見切り発車したのです。
 
他のブックでもで重い処理をすると一時的に「応答なし」なんて出るもんですから
これを平気だと思うのは本当に無神経だったと思います。反省しています。
確かに配布先で使用している方は「応答なし」なんて出ると心臓が止まりそうだ
とおしゃっていました。
 
ご両名さんともブックの構造自体の見直しのアドバイスありがとうございます。
自分だけで使うならともかく、配布して使ってもらうんだったら、なによりも
メンテナンスに重点を置くべきだと思いました。変更を検討いたします。
またその時はアドバイスいただければと思います。今後ともよろしくお願いします。