|
▼もだ さん:
こんにちは。
>1=当月、2=翌月、3=翌々月と3つ指定したいのですがエラーが出ます。
>3つは不可能なのですか?
書式設定を「[=1] "当月";[=2] "翌月";"翌々月"」とすれば、
3で「翌々月」と表示されますが、4でも5でも「翌々月」と出てしまいます。
それでもよければ、この方法で・・・・。
「もっと条件が沢山ある」というなら、VBAでシートのChangeイベントを
使えば可能だと思います。
対象セルをSheet1のセルB1としましょう。
仮に
0-前月 1-当月 2-翌月 3-翌々月 4-翌翌々月(普通言いませんね)
と表示する事にします。
Sheet1のモジュールで
'==========================================================
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim frm
frm = Array("前月", "当月", "翌月", "翌々月","翌翌々月")
For Each rng In Target
If rng.Address = Me.Cells(1, 2).Address Then
With rng
If .Value <> "" And Val(.Value) >= 0 And Val(.Value) <= 4 Then
.NumberFormat = frm(Val(.Value))
Else
.NumberFormat = "general"
End If
End With
End If
Next
End Sub
とすれば、表示できますが・・・・。
詳しい内容をお聞きしているわけではありませんから一概には言えませんが、
セルA1にコード(0とか1とか2)を入力させ、セルB1にそれに対応する文字列(
当月とか翌月)を入れるという方法ではいけないのですか?
セルB1には、「=choose(a1,"当月", "翌月", "翌々月")」と入れておけば対応する
文字列が表示されます(関数であれば、他にも方法は色々あります)。
他のセルで数字として使いたい場合は、セルA1を参照する。
1とか2とか表示されるのが気になるなら文字の色を背景と同化させてしまう。
これがいちばん簡単な方法だと思うのですが、いかがでしょうか?
|
|