Designer:シート名に全角スペースは要注意!

シングルクォーテーションが判断出来ない

生成時、高速エンジンを使用すると結果のブックが破損することがあります。前回記事でも示しましたが、これは大抵のケースで高速エンジンの未使用にて解決します。高速エンジンの未使用は "Excel ならではで動かす" 為、処理は遅くなりますが、高速エンジンよりかは Excel 機能の大部分に対応が行えるという訳です。

f:id:xoblos:20190805163405p:plain

さて上図①ですが、2行の表内で別シートのセルと――更に別のシートのセルをそれぞれ参照しています。列「B」に書かれているのは列「A」が持つ式の内容です。‥‥生成高速エンジンではこの内、明細 1行目に表現されているようなシングルクォーテーションで囲まれる全角の空白(スペース)を含むシート名を解釈することが出来ませんExcel の仕様上、何処までがシート名を示しているのか区別する為に、シングルクォーテーションで囲むことになっているのです。

上図②は、シート「空白 シート」自身が持っている情報です。印刷範囲を設定すると、名前定義には自動でその情報が入ります。しかし下部の「参照範囲」は前述と同様シングルクォーテーションが含まれており、同じ問題が挙げられます。

"高速エンジンの未使用" 以外の対処法としましては(シート名にスペースが無いよう運用化して頂きたいのが本音ですが‥‥)、全角スペースから半角スペースを 2つに変更するか、或いは前回記事のように通常式から INDIRECT 式に記述を変えることです。「=INDIRECT("'空白 シート'!A1")」のように、シート名部分はただの文字列と見做されますので、破損することなく高速生成が成立するでしょう。