プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になります。
WINDOWS7 EXCELL2010 です。

下記のマクロを採用していますがその中に適用する範囲を指定したいのです。
指定する範囲は  I13~AM27 です。

どんな方法で追加すればいいかご教授を願えませんか。

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

If Target.Value = 0 Then Target.Value = " "
If Target.Value = 1 Then Target.Value = "日"
If Target.Value = 2 Then Target.Value = "△"
If Target.Value = 3 Then Target.Value = "▼"
If Target.Value = 4 Then Target.Value = "前"
If Target.Value = 5 Then Target.Value = "夜"
If Target.Value = 6 Then Target.Value = "明"
If Target.Value = 7 Then Target.Value = "有"

Application.EnableEvents = True
End Sub

A 回答 (2件)

シート上で該当範囲のセルが変更されたときに数字を自動変換したいのですね。


If Intersect~ で範囲指定できます。


Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("I13:AM27")) Is Nothing Then Exit Sub 'ココで範囲指定

Application.EnableEvents = False

If Target.Value = 0 Then Target.Value = " "
If Target.Value = 1 Then Target.Value = "日"
If Target.Value = 2 Then Target.Value = "△"
If Target.Value = 3 Then Target.Value = "▼"
If Target.Value = 4 Then Target.Value = "前"
If Target.Value = 5 Then Target.Value = "夜"
If Target.Value = 6 Then Target.Value = "明"
If Target.Value = 7 Then Target.Value = "有"

Application.EnableEvents = True
End Sub
    • good
    • 0
この回答へのお礼

早速のご指導、ご回答を誠にありがとうござる居ました。

お礼日時:2013/02/14 11:06

一例です。



Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set Target = Intersect(Target, Range("i13:am27"))
If Target Is Nothing Then End
Application.EnableEvents = False
For Each r In Target
If r <> "" And r < 8 Then
r = Split(",日,△,▼,前,夜,明,有", ",")(r)
End If
Next
Application.EnableEvents = True
End Sub
    • good
    • 0
この回答へのお礼

早速子指導、ご回答いただき誠に有難うございました。
試させていただきました。
結果はよかったです。

お礼日時:2013/02/14 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!