SSブログ

相変わらずのリソース不足 [エクセル]

寄引システムへの対応に当たり、マクロの見直しを行なっていたのですが、相変わらずリソ-ス不足エラーに頭を痛めています。
従来の株価データは4,100行ほどだったのですが、寄引システムになると、その2倍のデータが必要になります。

それをリンク元として参照すると、リソース不足エラーが生じるため、1,000行毎に値複写をしながら、参照をなくすことを考えました。
そうすれば、一度に参照する行は1,000行以内なので、エラーは生じないと考えたのですが、ちょっと考えが甘かったようです。

そのようにしても、データ数が8,200行近くになると、何故かリソース不足エラーが生じてしまいます。
データ分割の方法を変えても、エラーは必ず決まった行数で発生します。

また、それまでは一度に6列分のデータを1,000行毎に区切って取り込んでいたのですが、それを2列毎に変更しても、やはり8,200行近くでエラーが生じてしまいます。
結局、それが一時的な過程であっても、一連の流れの中でリンク元を直接参照すると、リソース不足が生じてしまうようです。

いろいろと考えた末、ExecuteExcel4Macro命令を用いて、株価データをマクロ中で配列に取りこむことも試してみましたが、どうやらその動作原理は、ワークシートにおけるリンク元の参照と変わりないらしく、やはり同じ箇所でエラーが生じてしまいます。

仕方がないので、見栄えは悪いのですが、株価データファイルを一旦開いて、直接そこからコピーするようにしたら、ようやくエラーは出なくなりました。
これは、ワークシート間のコピーが、クリップボードを介して行なわれるためと考えられます。

クリップボードは、エクセルとは関係なくシステムのリソースを使用するため、エクセルのリソース消費に影響を与えなかったものと思われます。
まあ、何にしても、これでようやく寄引システムの完成の目処が立ちました。

それにしても、エクセルのリソース不足にはいつも悩まされます。エクセルに対する最大の要望は、リソース拡大なのですが、Office2010では改善されているのでしょうか?
実装メモリが当たり前のように4GBを越える昨今、リソースに対する制限も緩和して欲しいものです。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。