Excel VBA質問箱 IV

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

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


71992 / 76732 ←次へ | 前へ→

【9230】Re:セルに入力された値によって、セルの書式を変えたいのですが…
発言  でれすけ  - 03/11/25(火) 11:05 -

引用なし
パスワード
   こんにちわ。

>シートモジュールにマクロを貼り付けて、一度別のシートをactiveにしてそのシートに戻ってきたのですが、小数点以下2桁で表示されるはずのセルに数を入力しても、そのままです。
>なぜでしょう?
>例えばですね、18と入力した場合、18.00となって欲しいのですが、18で表示されています。

ぴかるさんのプロシジャは、
B列が変更されたときにE列の書式が変更されるようになってます。
なので、
B列を変更せずにE列の値のみ入力しても書式は以前のもののままです。

ということではないのかな?

マクロを貼り付けたあと、一度B列を編集して確定してから
E列に入力してみてください。

ちなみに、E列変更時にその都度書式を変更するように
したものが以下のものです。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim T1 As Range, T2 As Range, aCell As Range

Set T1 = Intersect(Target, Columns("B"))
If Not T1 Is Nothing Then
 For Each aCell In T1
   aCell.Offset(, 3).NumberFormatLocal = CellFormat(aCell.Value)
 Next
End If

Set T2 = Intersect(Target, Columns("E"))
If Not T2 Is Nothing Then
 For Each aCell In T2
   aCell.NumberFormatLocal = CellFormat(aCell.Offset(, -3).Value)
 Next
End If

End Sub

Private Function CellFormat(Val As Variant) As Variant
 Select Case Val
   Case "高": CellFormat = "0_ "
   Case "障": CellFormat = "0.00_ "
   Case "万": CellFormat = "@"
   Case Else: CellFormat = "G/標準"
 End Select
End Function

0 hits

【9207】セルに入力された値によって、セルの書式を変えたいのですが… 猛虎襲来 03/11/22(土) 23:35 質問
【9210】Re:セルに入力された値によって、セルの書式... ぴかる 03/11/23(日) 18:25 回答
【9212】Re:セルに入力された値によって、セルの書式... 猛虎襲来 03/11/24(月) 0:27 質問
【9214】Re:セルに入力された値によって、セルの書式... ぴかる 03/11/24(月) 8:47 発言
【9215】Re:セルに入力された値によって、セルの書式... りん 03/11/24(月) 9:15 発言
【9225】Re:セルに入力された値によって、セルの書式... 猛虎襲来 03/11/24(月) 23:02 質問
【9228】Re:セルに入力された値によって、セルの書式... ぴかる 03/11/25(火) 9:02 発言
【9230】Re:セルに入力された値によって、セルの書式... でれすけ 03/11/25(火) 11:05 発言
【9248】できました!ありがとうございます。 猛虎襲来 03/11/25(火) 21:47 お礼

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