小さい会社の1人SEの開発記というか奮戦記

  1. Excel
  2. 12830 view

商品コードなど長い数値だけの文字列を指数表示させない【Excel VBA】

データベースから商品コードのデータをもらってそのデータが数値だけの場合指数表示(e+)に自動変換される場合があります。これを回避するTipsをまとめます。

基本的考え方

セルの書式設定で「文字列」を選ぶだけでは指数表記を回避できません。文字列と明言してセルのValueに代入する必要があります。

文字列を明言するのに使うのがFormat関数です。書式を指定して日付や時刻の体裁をそろえたり、数値にカンマを付けたりするのに使う関数です。このFormat関数、書式を指定しないとそのままの文字列を渡しますので、この機能を使用します。

具体的な方法

  1. セルの書式設定で表示形式の分類を「文字列」に設定する。列選択などして指定しておけばよいと思います。
  2. セルの値にFormat関数の書式無しで値を代入します。
    例えば”12345678901234567890″の値がTXT_ATAIと言う変数に代入されているとします。
    これ変数をB3に代入したい場合は以下となります。
    TXT_ATAI = “12345678901234567890”
    Range(“B3”).Value = Format(TXT_ATAI)
    Cells(3,2).Value = Format(TXT_ATAI)
    上の2行は同じ処理です。

まとめ

少しひらめけば当たり前の事なのですが、意外とはまりますのでTipsとして残しておきます。参考まで。

Excelの最近記事

  1. 日本語をエンコードする【Excel VBA】

  2. 商品コードなど長い数値だけの文字列を指数表示させない【Excel VBA】

  3. VBAで改行を指定する【Excel】

  4. 入力規則のプルダウン連携【Excel】

  5. 最短手順で計算式を保護する【Excel】

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


お薦め書籍

最近の記事

  1. Access

    Accessの数値型ではまる・・・。
  2. Excel

    日本語をエンコードする【Excel VBA】
  3. Access

    クエリで日付から曜日を算出する。【Access】
  4. PCパーツ

    ASUS AMD Ryzen 4000 シリーズ搭載小型ベア…
  5. Microsoft365

    コンデジをTeamsのWebカメラに使う
  6. SQL Server

    SQL文で今日から7日前までを指定する