• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:0が消える:WRITEを使ってTEXT出力)

0が消える:WRITEを使ってTEXT出力

このQ&Aのポイント
  • ワークシートの一部をカンマ区切りのテキストとして出力するためにVBAのWRITEを使用しています。
  • しかし、セルの値が0から始まる場合には最初の0が消えてしまいます。
  • この問題の解決策があれば教えていただきたいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

#1です。 Write は自動的にカンマ区切りにしてくれますが、すべて " で囲まれちゃうんですよね。 なので Write の代わりに Print を使ってみてください。 ただし、" で囲まれない代わりにカンマ区切りにはなりません。 Print #1, """ & 文字 & """ ; "," ; 数字 って感じで、自前で区切りを入れます。 頑張ってくださいヽ(^。^)ノ

masuyantosh
質問者

お礼

そこに至るまでのプロセスをだいぶ変更しましたが、PRINTを使うことで、最終的には解決しました。 WRITEは文字列でしか出せないんですね。0から始まる文字列は0をはずしてしますのがEXCELの仕様なんでしょうね。 PRINTを使うと、不要なスペースが入ってしまうのが難点ですね。 ずいぶん助かりました。ありがとうございました。

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

Format(セルの値, "0.0") でどうでしょうか。 頑張ってくださいヽ(^。^)ノ

masuyantosh
質問者

お礼

一度はうまく行ったように感じたのですが、"0.****"となることがわかりました。数値が""で囲まれるのは都合が悪く、別の方法を模索中です。また、数値は小数点以下が3桁の場合と、1桁の場合があるので、そのことも加味する必要がありました。1桁になるか3桁になるかはケースによって異なります。 いったんCSVで吐き出しておいて、そのCSVファイルをテキストエディタによる一括置換(""文字列""を"文字列"に)のような処理をEXCEL上からできればいいのかもしれないですね。その方向でも探ってみます。 まずはお礼まで。ありがとうございました。

masuyantosh
質問者

補足

ちょっと試してみたら、うまく行きそうです。詳しく試してから、ご報告します。p(^o^)q

関連するQ&A