在CASE中使用单元名称

时间:2013-06-07 15:14:47

标签: excel vba

我有一个动态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$14替换RequestorField会导致代码终止。

有什么想法吗?谢谢!

ps:这一切都在WORKSHEET_CHANGE函数中,因此我需要使用“case”。

1 个答案:

答案 0 :(得分: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