見出し画像

セルに数字を入力する。つまづくポイント①

エクセルで数字を扱うとき、思い通りの数字にならない時があります。
VBAを触り始めた頃、”平成〇年〇月23日”と入っているセルから、日付の23という数字を取り出そうとして、=mid(〇〇,7,2) などと書いては失敗していました。
今は、そんなバカなことはしないつもりなのですが、思い通りの数字が出力されているはずが、そうなっていなくて、エラーとなることがあります。

返戻レセプトは、テキストファイルです。
それをエクセルに取り込む際に、あらかじめ、取り込むシートのセルの書式設定を「文字列」にしていても、数字の部分が、勝手な型式の数字になってしまいます。
例えば、
テキストファイルでは、123456789012345であっても、
取り込まれたセルでは、1.2 E+14 と表示されるのです。

テキストファイルの読み込み、書き出しには時間がかかるので、
いったん、取り込んだ後で、数字の修正をしたほうが良いと思われます。
関数で型式を変更するのは、簡単そうで、意外と思い通りにならない。
ネットを検索していたら、上手い方法が紹介されていました。
エクセルの機能というか癖に、
セルの値と数字を計算させると、セルの値は数字になる、
セルの値に文字列を加えると、セルの値は文字列になる、
というのがありますが、それを利用してありました。
(ホントか?)
それで、数字の型式がおかしくなったセルについてのみ、
 .fomulaR1C1 = "" & .value & ""
とやります。
すると、素直に文字列になってくれました。

実は、同じ数字でも型式はたくさんあって、
一致しないと検索できない、なんてこともあるので、この思い通りの数字になっていない問題に気づかないと、論理エラーと違って、解決に時間がかかってしまいます。


この記事が気に入ったらサポートをしてみませんか?