• ベストアンサー

VBのフォーマットで+と-の値をそろえたい

Visual BASICで値をフォーマット命令を使い、+あり、-ありの値を縦に表示させ、各桁をそろえたいのですが、+の場合は、+を表示しないので、+の値だけ、1桁左詰めで表示されてしまいます。簡単に解消できる方法はありますか? 教えてください。 現在のプログラム  print Format(変数,"###") 今の例 123 -123 希望する表示  123 -123      ブラウザで見ると3と3がそろっていませんが、合わせて書いたつもりです

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

  • ベストアンサー
回答No.2

Format(変数, " ###;-###") の書式部分は、 空白・シャープx3・セミコロン・マイナス・シャープx3 で、間に入るのは、セミコロン。 書式をセミコロンで区切って最大4つまで指定できます。 正の数、ゼロ、負の数の別などで書式を選択する機能があるのですよ。 ヘルプでFormat関数の関連項目で「数値を表すその他の書式 (Format 関数)」というトピックを参考にしてください。

greenhope
質問者

お礼

正と負の区切りは ; だったのですね。 おかげで、縦列がまっすぐになり、たいへんすっきりしました。 ありがとうございました。

その他の回答 (1)

回答No.1

正負別複数書式で対応できますよ。 Format(変数, " ###;-###")

greenhope
質問者

補足

回答、ありがとうございます。 Format(変数,"###,-###")とのことですが、 - が中間に入るのはおかしくないですか? 試してみたらうまくいかないようですが。 またFormat(変数,"-###") とすると、 -123の場合 --123と表示してしまいます。 正の場合は空白を頭に、負の場合は、-を頭につけたいのです。もしくは 正の場合は+を頭に、負の場合は、-を頭につけたいのです。 なにかのBASICで S(符号)があったようですが、VBではないようです。 プログラムで判別するのでなく、formatコマンドだけで簡単に行う方法はありますか?

関連するQ&A