プロが教えるわが家の防犯対策術!

いつもお世話になっております。
以下のコード某氏から頂戴いたしました。
このコードではE列という条件ですが、
これを
Range("E1") と特定のセルに変更が
あった場合どうしたらいいのでしょぅか。
Case Range("E1") だめです。
いろいろ試してみますが、わかりませんでした。


Dim st As String
With Target
st = Left(.Address(0, 0), 1)
Select Case st
Case "E"
If .Row Mod 2 = 0 And IsDate(.Value) Then
Cells(.Row, 5).Font.ColorIndex = 5
Else
Cells(.Row, 5).Font.ColorIndex = xlAutomatic
End If
End Select
End With
End Sub

質問者からの補足コメント

  • どう思う?

    以下のコードで
    いいとおもうのですが、
    動作せず、エラーもでません。

    Dim St As String
    Dim Ret As Variant

    With Target
    Select Case .Address(0, 0)

    Case "E2"

    If .Value = "" Then Exit Sub
    If Not IsError(Ret) Then
    Ret = Application.VLookup(.Value, Range("B5:H20"), 2, False)
    Target.Offset(, 1).Value = Ret
    End If


    End Select
    End With

      補足日時:2020/01/21 17:00

A 回答 (1件)

検証してませんが。



With Target
Select Case .Address(0,0)
Case "E1"

ですけど、何故Select Caseを使っているのでしょう?????????
If文のネスト等で良いと思いますけど。
    • good
    • 0
この回答へのお礼

ありがとうございます。
勘違いでした。
本当申し訳ございません

お礼日時:2020/01/21 17:02

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