|
こんにちわ。
>シートモジュールにマクロを貼り付けて、一度別のシートを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
|
|