アプリ版:「スタンプのみでお礼する」機能のリリースについて

勤務先で自社用の指示書を作成しています。
元となるCSV(外部サイトよりDL)の中に16桁の数値データがありますが、指数表示され完全に表示できなく、
表示させる方法を探しています。

現状、表示させるために書式を一旦文字列にしてから編集状態(F2)にしてEntキーを押すと表示はされます。
(ただし、16桁目は0になってしまいますが)
ただ、それをこちらの事情で自動でやりたいのです。

上記の処理は一部で、
1.フォーマットとなるブックがあり、そこからマクロを起動する
2.対象のcsvファイルを選択し、それを1の中の対象シートに貼り付ける
3.貼り付けられたデータ(対象シート内)とひな形(ブック内に作成済み)シートをもとに指示書が作成される
4.印刷用に指示書シートを別ブックとして保存する
が全体の流れです。
1~4までできていますが、質問の箇所の部分が全桁表示されていません。

印刷都合上、10桁から文字列に変えて5,5に分割して別々のセルに貼り付けてますが、
16桁以上だとどうしても指数としてしかデータを取得できず、16桁そのままのデータになりません。

該当セルを一旦文字列に変えても変えなくても、
cells(X,Y).value(或いはcells(X,Y))で取得できるのは例えば「1.23E+12」の形でそれが分割されています。

どなたかご経験のあるかたがいましたら、ご教授お願いします。

A 回答 (2件)

3の処理で、該当の項目(16桁の数値)を指示書(ひな型)に張り付けていると思いますが、どのような方法で実装されていますか?


数式であれば、TEXT関数で。マクロであれば、Format関数で16桁の文字に変換して、ひな型に張り付ければ良いと思います。
    • good
    • 0
この回答へのお礼

アドバイス有難うございます。
formatで試したところ、なんと!うまく行きました(難しく考えて失敗しまくってたため拍子抜けするくらいに)。
実装ですが、それまでは全データコピペ(元csvデータを転記先へ)してそのデータorセルをいじくってました。

ご回答頂いたにも関わらずですが、なんでもかんでもエクセルではなくmysqlとかaccessなどのデータベースも勉強したほうが楽になるのかと思案中です。

他の方からも助けて頂きましたが、No2様をBAとさせて頂きます。

お礼日時:2016/03/07 23:50

数字ではなく文字列で宜しいのですね?


csv ファイルの読み込み時に、文字列として読み込めばOKです。
    • good
    • 0
この回答へのお礼

アドバイス有難うございます。
数字は数字ですがcsv内のすべてのあるがままのデータを抽出させたいです。
そのため、文字列として扱わないと不都合が出てきてしまうと考えています。
マクロが慣れてるとはいい難いため、アドバイスの方法を試しながら進めます。

お礼日時:2016/03/07 23:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!