Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3235 / 13644 ツリー ←次へ | 前へ→

【63372】書式設定(表示形式)について sissy 09/10/29(木) 17:29 質問[未読]
【63373】Re:書式設定(表示形式)について kanabun 09/10/29(木) 19:52 発言[未読]
【63375】Re:書式設定(表示形式)について sissy 09/10/30(金) 9:10 お礼[未読]
【63374】Re:書式設定(表示形式)について yoshi 09/10/30(金) 0:17 回答[未読]
【63376】Re:書式設定(表示形式)について sissy 09/10/30(金) 9:18 お礼[未読]

【63372】書式設定(表示形式)について
質問  sissy  - 09/10/29(木) 17:29 -

引用なし
パスワード
   小数点未満を切り捨てて表示するため、以下のようにVBAを作成しました
この表示形式の場合、例えば「1234.56」は「1234」と表示されますが、
「1,234」のようにカンマ付で表示をしたいのですが、何か良い方法はあり
ませんでしょうか?

Public Sub TruncCurrentRegion()
Dim c As Range, cv, acv
For Each c In ActiveCell.CurrentRegion
If IsNumeric(c.Value) Then
  cv = Int(c.Value)
  acv = Abs(cv)
  c.NumberFormatLocal = ”[>” & cv & ”]””” & acv & ”””;”
  End If
Next
End Sub

【63373】Re:書式設定(表示形式)について
発言  kanabun  - 09/10/29(木) 19:52 -

引用なし
パスワード
   ▼sissy さん:

>「1,234」のようにカンマ付で表示をしたいのですが、何か良い方法はあり
>ませんでしょうか?

  .NumberFormatLocal = "#,##0;-#,##0"
とか、
  .NumberFormatLocal = "_ * #,##0_ ;_ * -#,##0_ ;_ * ""-""_ ;_ @_ "
とかでは
まずかったですか?

【63374】Re:書式設定(表示形式)について
回答  yoshi  - 09/10/30(金) 0:17 -

引用なし
パスワード
   ▼sissy さん:
>小数点未満を切り捨てて表示するため、以下のようにVBAを作成しました
>この表示形式の場合、例えば「1234.56」は「1234」と表示されますが、
>「1,234」のようにカンマ付で表示をしたいのですが、何か良い方法はあり
>ませんでしょうか?

次のような書式設定で出来ます。
 Dim rg As Range
 For Each rg In ActiveCell.CurrentRegion
  If IsNumeric(rg.Value) Then
   rg.NumberFormatLocal = "0,0" & vbLf & ".00"
   rg.WrapText = True
  End If
 Next

【63375】Re:書式設定(表示形式)について
お礼  sissy  - 09/10/30(金) 9:10 -

引用なし
パスワード
   ▼kanabun さん:
>
>  .NumberFormatLocal = "#,##0;-#,##0"
>とか、
>  .NumberFormatLocal = "_ * #,##0_ ;_ * -#,##0_ ;_ * ""-""_ ;_ @_ "
>とかでは
>まずかったですか?

回答ありがとうございます。

四捨五入ではなく、切り捨てて表示したいのですが、この設定では四捨五入されてしまうような気がしますが。

【63376】Re:書式設定(表示形式)について
お礼  sissy  - 09/10/30(金) 9:18 -

引用なし
パスワード
   ▼yoshi さん:
>
>次のような書式設定で出来ます。
> Dim rg As Range
> For Each rg In ActiveCell.CurrentRegion
>  If IsNumeric(rg.Value) Then
>   rg.NumberFormatLocal = "0,0" & vbLf & ".00"
>   rg.WrapText = True
>  End If
> Next

回答ありがとうございます。

セルの高さが3文字分あるので、微調整すれば出来そうです。

3235 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free