0

行が追加および削除される動的な Excel スプレッドシートがあります。そのため、範囲を使用してセルをターゲットにすることはできません。caseシナリオで名前を使用してセルをターゲットにすることは可能ですか?

これは現在私の作業コードです:

Select Case Target.Address


Case "$G$14"
        If Range("RequestorField").Value = "" Then
            Range("RequestorField").Interior.Color = RGB(255, 199, 206)
        Else
            Range("RequestorField").Interior.Color = RGB(215, 228, 188)
        End If 

で置き換える$G$14RequestorField、コードが殺されます。

何か案は?ありがとう!

ps: これはすべて WORKSHEET_CHANGE 関数に含まれるため、「ケース」を使用する必要があります。

4

1 に答える 1

3

使用するTarget.Name.Name

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Name.Name

    Case "RequestorField"
        If Range("RequestorField").Value = "" Then
            Range("RequestorField").Interior.Color = RGB(255, 199, 206)
        Else
            Range("RequestorField").Interior.Color = RGB(215, 228, 188)
        End If 
    End Select

End Sub
于 2013-06-07T15:30:17.457 に答える