
セルが小さすぎる場合、Excel が特定の数値形式でセルの内容を「######」に置き換えてしまうことに時々悩まされます。
これまでは、セル内のデータの一部ではない、表示されるテキスト (つまり通貨記号) に依存するマクロの出力が混乱しても、大きな問題にはなりませんでした。
この機能をオフにして、テキストと同様に数字を切り取ったりオーバーフローさせたりする方法はありますか?
これは、セルを特定のサイズにしたい場合や、セルを非表示にしたい場合に特に役立ちます。この問題に対処する必要があります。Google で徹底的に検索してみましたが、解決策は見つからず、類似の質問もまだ見つかりません。
これに対する一時的な回避策は、セルの配置に合わせて縮小を有効にすることですが、理想的にはこれをオフにしたいです。
この機能は、切り取られた数字の誤読を防ぐためのものだと理解していますが、現時点では私にとっては問題ではありません。
答え1
セルのテキストを参照する前に、列の幅を自動調整します。
例えば
With ActiveCell
.EntireColumn.AutoFit
Debug.Print .Text
End With
答え2
データを入力する前に、セル/列/その他を TEXT として書式設定できます (または、科学的記数法で表示するなど、Excel が既に実行している可能性のあるいくつかの効果に対処するために少し手間をかけて入力した後でも)。
こうすることで、「クリッピング」効果が得られ、科学的記数法やハッシュマークへの書式設定が変更されることはありません。
後の計算でこれらの数値を使用する場合のほとんどの場合、書式設定がテキストであっても、Excel は数値として解釈します。そのため、数値を何かに追加するなどしても問題なく機能します。
ただし、のような関数はSUM()
そうではありません。これらの関数の場合、範囲またはセル参照を関数内にラップすると、範囲内のすべてのそのようなデータが適切に合計されVALUE()
、この問題が解決されます SUM(VALUE(A1:B5))
。
ただし、テキストと数値の重要な違いを論理的に検出できると予想される関数 (またはメニュー コマンドなど) は、追加の手順なしでは失敗します。たとえば、ルックアップ関数などです。または、リボン メニューのフィルター機能を使用すると、テキストとして書式設定されたものは、数値または一般として書式設定されたものとは異なるものとして表示されます。
したがって、=IFERROR(VLOOKUP(VALUE(A1),B1:E4,2,FALSE),VLOOKUP(A1,B1:E4,2,FALSE))
問題は解決するかもしれないが、検索が複雑であれば、より複雑なものが必要になるかもしれない。
最後に、ピボット テーブル、Power Pivot、または Power Query でデータを使用する場合は、すべてが不確実になります (PQ は最も確実です)。
しかし、ここでは基本的な緩和ケアだけが必要なのでしょうか? テキストとしてフォーマットし、すぐに問題が発生することなく問題が解決するかどうかを確認してください。