• ベストアンサー

【Excel VBA】表示形式

Excel2003を使用しています。 例えば、A1:C30に数値が円単位で入力されているものを、マクロを実行することにより、千円単位で表示するようにしたいのですが、“千円単位”をどのように書けばいいのかわかりません。 よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

千円未満四捨五入で良ければ、こんな感じではダメだろうか? Selection.NumberFormatLocal = "#,##0," 値は変更せず、セルの表示形式で見た目だけ千円単位にして ます。

rx-z5815
質問者

お礼

回答ありがとうございます。 なるほど、セルの表示形式で見た目だけという方法もありますね! 早速、試してみたいと思います。 ありがとうございました<(_ _)>

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

補足要求です。例えばA1に10000という数値があるとき、マクロ実行後のA1の値は10に置き換えるのですか? それとも10000のままで、表示だけは10にしたいのですか? もし後者だとすればマクロであってもできません。EXCELでは表示形式で数値の「小数点以下の桁数を指定する」ことはできても、「数値をいじらないで見かけの表示桁数を変えること」はできないと思います (もしできたらごめんなさい) 代替案として別のセル(例えばB1)に =A1/1000 のように式を入力する方法はありますが、そのような方法ではいけませんか? (この場合マクロは必要ありません) なお前者であればマクロで可能ですが、そのマクロを2回実行すると、  1,000,000→1,000→1 となってしまったら困りますね。既にそのセルの値は「1/1000」になっていることを判別するルールを考えないとなりません。それを示してください。(例えばセルの書式が 0千円 となっているとか)

rx-z5815
質問者

補足

アドバイス、ありがとうございます。 >補足要求です。例えばA1に10000という数値があるとき、マクロ実行後のA1の値は10に置き換えるのですか? それとも10000のままで、表示だけは10にしたいのですか? 前者の方です。 示していただいたように代替案も考えたのですが、ある表の中の数値を全て置き換えるので、別のセルを使用するとなると、同じ表をもうひとつ作るような感じになってしまいそうなので、マクロを使用したらどうかなと思った次第です。 あと、マクロを実行したことを判別するルールですが、実行後はセルに色が付くようにするか、“実行済み”など何かメッセージをどこかのセルに表示するようなことを考えています。

関連するQ&A