- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:0が消える:WRITEを使ってTEXT出力)
0が消える:WRITEを使ってTEXT出力
このQ&Aのポイント
- ワークシートの一部をカンマ区切りのテキストとして出力するためにVBAのWRITEを使用しています。
- しかし、セルの値が0から始まる場合には最初の0が消えてしまいます。
- この問題の解決策があれば教えていただきたいと思っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 Write は自動的にカンマ区切りにしてくれますが、すべて " で囲まれちゃうんですよね。 なので Write の代わりに Print を使ってみてください。 ただし、" で囲まれない代わりにカンマ区切りにはなりません。 Print #1, """ & 文字 & """ ; "," ; 数字 って感じで、自前で区切りを入れます。 頑張ってくださいヽ(^。^)ノ
その他の回答 (1)
- snoopy64
- ベストアンサー率42% (337/793)
回答No.1
Format(セルの値, "0.0") でどうでしょうか。 頑張ってくださいヽ(^。^)ノ
質問者
お礼
一度はうまく行ったように感じたのですが、"0.****"となることがわかりました。数値が""で囲まれるのは都合が悪く、別の方法を模索中です。また、数値は小数点以下が3桁の場合と、1桁の場合があるので、そのことも加味する必要がありました。1桁になるか3桁になるかはケースによって異なります。 いったんCSVで吐き出しておいて、そのCSVファイルをテキストエディタによる一括置換(""文字列""を"文字列"に)のような処理をEXCEL上からできればいいのかもしれないですね。その方向でも探ってみます。 まずはお礼まで。ありがとうございました。
質問者
補足
ちょっと試してみたら、うまく行きそうです。詳しく試してから、ご報告します。p(^o^)q
お礼
そこに至るまでのプロセスをだいぶ変更しましたが、PRINTを使うことで、最終的には解決しました。 WRITEは文字列でしか出せないんですね。0から始まる文字列は0をはずしてしますのがEXCELの仕様なんでしょうね。 PRINTを使うと、不要なスペースが入ってしまうのが難点ですね。 ずいぶん助かりました。ありがとうございました。