エクセル雑感
いくつかの数式の計算中にリソース不足になりました。

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2023-12-28 最終更新日:2023-12-28

いくつかの数式の計算中にリソース不足になりました。


365のエクセルで最近になって急に出始めたエラーメッセージです。
いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。
何が原因で出力されるメッセージなのでしょうか・・・
どのような対処をしたら良いのでしょうか・・・



エラーメッセージの詳細

かつて見た覚えのないメッセージです。
最近になって急に出始めたエラーメッセージです。

いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。

いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。

最初に見た時は、何が原因なのかちょっと悩みました。
当該ファイルの最近の修正内容から思い当たることはあるのですが・・・

リソース不足
この言葉はエクセルではあまり見かけません。
「リソース不足のため、このタスクを完了することができません…」
このようなメッセージは見かけることはありますかね。
これは本当にメモリ不足だったりするわけで、
まずはエクセルを再起動してみる。
それでダメならPCを再起動してみる。
それでもダメなら、
よりメモリの多い高スペックのPCを使うとか、ブック・シートのサイズを小さくするとかで対応することになると思います。
※ブック・シートのサイズを小さくするには、
・データを少なくする。
・数式を減らす。
・書式を減らす。
・目に見えないゴミデータにも気をつける。
等々を複数対応する。


このメッセージが出る時の状況

はっきりとは限定出来ないのですが、、、
このメッセージが出るのはマクロ(VBA)で保存する前に何らかの変更を行う時に発生しているようでした。
(手動操作時にもメッセージ出力されることはあった気もするのですが…)
VBAでは、不要になったデータを消去した後にブックを保存しています。
ご存じのように、
セル値を変更すれば再計算が行われます。
また、エクセルではブックが保存されるときは事前に自動で再計算されます。
これらの再計算の最中にこのメッセージが出ているようでした。

原因となる特定のVBAコードが常にエラー発生するのなら調べようもあるのですが、状況によって発生したりしなかったり・・・
このメッセージが出た後でも、エクセルを再起動するとしばらくは出なくなります。
でも、さらに使い続けるとまた出るようになります。
そして一度メッセージが出ると、その後はほぼ確実にでるようになってしまいます。

メッセージには「OK」ボタンしかないので当然「OK」をクリックします。
すると特に問題もなくそのまま進みます。
ただし、保存されてVBAが終了るまでに数度このメッセージが出ますので。結構煩わしいです。

保存されたブックを開いて確認しても特に問題は見当たりません。
再計算されていないセルがあるかどうかまでは、全シート確認しきれないのですが・・・
VBAでセル値を変更しているのは特定のセルだけなのですが、これらのセルに間違いは見当たらないのですよね。


このメッセージが出る原因は何か

ある意味ここからが本題になります。
このメッセージが出るのは困りますので、何らかの対応をしてメッセージが出ないようにしなければなりません。
それには、そもそも何が原因なのかが分からないと対処できません。

当該ブックに対して最近行った変更は・・・
ちょっと重めのスピル数式を追加したことです。
スピルについて
2019年にOffice365のExcelに実装された革新的な機能としてスピルがあります。数式を入力したセルから結果があふれて隣接したセルにも出力されるのがスピルです。今までは数式を入れたセルにしか結果を出せませんでしたが、スピルでは隣接するセルにまで結果が表示されます。
前々からスピル数式自体は使っていたのですが限定的な使い方だけでした。
今回の変更では最初にUNIQUE関数でキー値を取り出し、
その後はスピル範囲演算子(#)を使ってその前の計算結果の範囲を次々に引き継いでいく数式を追加したのです。

A列のデータをUNIQUE関数でB列に出力、C列ではB1#で処理、D列ではC1#で処理・・・
この連鎖が数段階になっている作りになっています。
いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。

いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。

※画像の数式は特に意味のないサンプルです。

スピル範囲演算子(#)は時々で(データによって)データ範囲が可変になります。

スピル範囲演算子は非常に便利な機能です。
スピル範囲演算子はスピルならではの機能です。

はっきりとは言い切れないのですが、スピル範囲演算子は再計算時には結構重い計算になってしまう可能性を含んでいると思います。
もちろん数式とデータによるのですが、便利だからと言って多用すると結構危険かもしれません。
やたらに重いブックになったり、今回のような謎のメッセージがでたり・・・

つまりメッセージが出る時の直接的な処理内容は、、、
スピル範囲演算子の範囲が大きく変更されるようなデータ変更が行われたときに出ていました。
具体的には、最初のデータ範囲のデータを消去した時ですね。
最初のデータ範囲のデータが無くなる事で、その後のスピル範囲演算子の範囲が次々に変更になっていきます。
この時に、
いくつかの数式の計算中にリソース不足になりました。そのため、これらの数式の値を求められません。
このメッセージが出力される場合があるのです。
複数のスピル範囲演算子を連鎖的に使っていると複数回メッセージが出力される可能性があります。
ただしメッセージが出ない場合もあるので、スピル範囲演算子の数だけメッセージが出るとはかぎりません。

ということで今回追加したスピル数式の部分を、VBAで数式設定して計算後に数式を削除して値にするように対処しました。
これでとりあえずブック自体が大分軽くなりました。
スピル数式を追加してからは手動操作時にも大分重く感じていたのですが、それらが大分軽く感じるようになりました。
そしてメッセージも出なくなりました。
これで一応症状は出なくなったので、しばらく様子を見てみることにします。

_人人人人人人人人人人_
> スピル範囲演算子 <
> 使いすぎに注意! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y ̄




同じテーマ「エクセル雑感」の記事

プログラミングとは

コンピューター(PC)は、こと計算については天才的な能力を持つが、その他の事については一般人の常識が通用しない子供のような存在です、人間で言うなら、サヴァン症候群でしょう、サヴァン症候群のPCに対して何かをしてもらいたい時に、それを文章で伝えるものがプログラムです。従って、プログラミングでは、あなたの常識は一切通用…
「ネ申Excel」問題 への同意と反論
「ネ申Excel」、私は流行に疎いので、ネ申の意味が最初分からなかった、どうやら、「神Excel」のことのようです、大学教授が書いた、Excelの問題点と解決策の提案がかかれた論文です、この論文に対する、私なりの同意と反論です。Excelを論ずるのに、なぜネ申などという言葉を使ったのか、私には少々理解しがたい部分も…
「Excel3ステップ理論」3階層システムの応用
エクセルでシステムを作成する時に、念頭に置くべき3階層の考え方になります、本来はExcelに限った事ではなく、システム作成では常に3階層を考えて設計しますが、さらに考えを推し進めて3ステップとして考えます、つまり、「Excel3ステップ理論」です。データを入力するシートで、さらに集計し、さらに印刷までやろうとしたら、
「ポケモンを確実に見つける方法」をExcelで数学してみた
ポケモンGO関連の記事をみていたら、【ポケモンGO】かくれているポケモンを確実に見つける方法、という記事を読んだ。普通にそうだなという感想なのですが、もっとまじめに数学したら、もっと良い方法があるのではないかと。元記事はあちこちで見た気がするが、多分これでしょ 「【ポケモンGO】かくれているポケモンを確実に見つける…
エクセルで「もういくつ寝るとお正月」
今日は2020年1月31日です。早いもので1月が終わろうとしています。つまり、2020年も12分の1がすでに終わろうとしています。この調子では、あっという間に今年(2020年)も終わってしまいそうです。
エクセルで連立方程式を解く(MINVERSE,MMULT)
とつぜん連立方程式を解くことになりました。なぜ連立方程式を解くことになったのか、そして、どうやって答えを導き出したのか… これらを自身の覚え書きの意味も含めて記事にしておきます。ただし、行列の難しい説明は抜かして、どうやって解決したかの経緯の説明が中心になります。
VBAが消えてしまった!マクロが壊れて動かない!
2020年4月15日に配信されたWindows10用セキュリティ更新プログラムの不具合で、なんと、VBAが全て消えてしまうという事が発生しています。今後もあり得る事なので、このような場合の対策について記しておきます。VBAが消えてしまうとはどんな状態なのか エクセルファイルを開くと、以下のようなメッセージが出力され…
スピらない スピル数式 スピらせる
タイトルというのはなかなか難しい。当初思ったお題は、・スピらぬなら壊してしまえスピル数式 ・スピらぬならスピらせてみようスピル数式 ・スピらぬならスピルまで待とうスピル数式 もちろん、壊してしまう訳には行かないし、待っていたってスピルする訳ないし… 当然「スピらぬならスピらせてみようスピル数式」と言う事になる。
難しい数式とは何か?
エクセルでは難しい数式は要らない、𝕏ではそんな話を良く目にします。同じことをするのなら、難しいより簡単な方が良い、それは当たり前ですね。では「難しい」とは何を指しているのでしょうか? 普段良く「数字で語る」みたいなことを言いますが、「難しい」の基準もなくそれを計る尺度も存在しない極めて曖昧な話…
いくつかの数式の計算中にリソース不足になりました。
無効な前方参照か、コンパイルされていない種類への参照です。
365のエクセルで最近(2023年の後半くらい)になって急に出始めたエラーメッセージです。いくつかのプログ等で対策が書かれているのを見かけましたが、これと言った決め手も無さそうに見受けられました。つまり、書かれている方法で解決した人もいれば解決しない人もいるといった状況に見受けられます。


新着記事NEW ・・・新着記事一覧を見る

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ