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

エクセルで000050.000など桁をそろえるためにユーザー定義で設定しました。ところが設定したものをテキスト(CSV)で保存したところ、桁をそろえるために入力していたものがなくなっています。000050.000でしたら、
ただの50になっています。
ためしにセルの書式設定で文字列に変更したところ同じ動きをしました。
CSVに出したとき000050.000と表示されるにはどのようにすればよろしいでしょうか?
どうぞよろしくお願いいたします。

A 回答 (4件)

おそらく、入力~表示までは期待通りの表示になっているのかと思います。


それをCSVファイルとして保存し、再度読み込むときに桁数が合わないのが不都合だ、というのがご質問の趣旨かと思います。

他の方も指摘されているようにCSVファイルは書式を持っていませんので、読み込むときに書式を設定しなければなりません。

手順はやや面倒なのですが、以下の方法をおためし下さい。

[データ]→[外部データの取り込み]→[データの取り込み]→ファイルを指定→[○カンマやタブなどの・・・]にチェック→[次へ]→[□カンマ]にチェック→[次へ]→一番左の列をクリック(反転表示)→Shiftを押しながら一番右の列(全列が反転表示)→[○文字列]にチェック→[完了]→[○既存のワークシート]にチェック→[OK]
「エクセルで桁を揃えるために0を表示したセ」の回答画像4

この回答への補足

回答ありがとうございます。
丁寧に画像までつけていただいたのに、外部データの取り込みボタンがみつかりません。
ヘルプもみましたが・・・
2007ですが、ないはずないですよね・・・

補足日時:2009/01/11 22:02
    • good
    • 0

関数でする方法もあります



仮にA1に 50 が入力されているとして
B1に次の式を
=TEXT(A1,"000000.000")
B1をコピー
A1に形式を選択して貼り付けで
値を選択して貼り付け

以上です

この回答への補足

回答ありがとうございます。
いただいた関数を元に文字列にして数字とは違う左寄りのデータになりました。
しかしCSVにして保存したら、やはり書式が保持されなかったです。

補足日時:2009/01/11 21:54
    • good
    • 0

CSVにする前に以下のマクロを走らせてみてください。


NumberFormatLocal = "000000.000"の
000000.000の部分は、ご自分が設定したユーザー定義と同じにしてください。

Sub test01()
For Each c In ActiveSheet.UsedRange
If c.NumberFormatLocal = "000000.000" Then
x = c.Text
c.NumberFormatLocal = "@"
c.Value = x
End If
Next
End Sub

この回答への補足

回答ありがとうございます.
マクロで走らせてみましたが反応ありませんでした。
いろんな列でそれぞれ別の定義(00.0にしたかったり、00000.00にしたかったり・・・)がついているのですが・・・
CSVへは名前を付けて保存から「CSVカンマ区切り」を選んでいます。

補足日時:2009/01/11 21:51
    • good
    • 0

CSV形式のファイルは、セル内データ値を出力、計算式や書式は出力されません。


従って000050.000と出力させたい場合はセル内データの値が000050.000になっていなければなりません。
つまり文字列そして入力するしかないです。

この回答への補足

ご回答ありがとうございます。
エクセル上では文字列(セル内で右寄りなっている)になっていますが、CSVになるとどうもまくいきません。

補足日時:2009/01/11 21:47
    • good
    • 0

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