エクセルの標準書式について
2023年11月11日
2つ前の記事で、text形式のセルが#####と表示される対策を書いた。
「選択オートフィルタの改良と標準機能について~.textの列幅エラー対策~」
selection.textだと、#####となってしまうので、
format(selection.value,selection.numberformatlocal)にしようという内容。
一見問題なさそうだけど、オーバーフローになっちゃうよっていうお話。
(これ、前にもハマったな・・・)
「選択オートフィルタの改良と標準機能について~.textの列幅エラー対策~」
selection.textだと、#####となってしまうので、
format(selection.value,selection.numberformatlocal)にしようという内容。
一見問題なさそうだけど、オーバーフローになっちゃうよっていうお話。
(これ、前にもハマったな・・・)
オートフィルタで使う分には気づきづらいけど、
上記を使って列集計で試したところ、エラー発生。
オーバーフローしました!
セルの内容は、標準書式で「20231108」
ググってみたら、標準書式ってエクセルにお任せなのね。
日付型にしようとしたけど、上限の9999年を超えるためにオーバーフローとのこと。
https://teratail.com/questions/191804
ってなわけで、selection.textの1文字目が#の場合のみ、
format(selection.value,selection.numberformatlocal)に分岐することにしました。
2023/12/27追記
1文字で判断すると#N/Aなどのエラーのあるセルで止まってしまうので、頭2文字が##かで判断する方がよいです。
また記事の修正が必要だな。。。
「選択中のセルでオートフィルタ 他」
PR
Comment