Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在CASE中使用单元格名称_Excel_Vba - Fatal编程技术网

Excel 在CASE中使用单元格名称

Excel 在CASE中使用单元格名称,excel,vba,Excel,Vba,我有一个动态Excel电子表格,可以在其中添加和删除行。由于这个原因,我不能用细胞的范围来定位细胞。在案例场景中,是否可以使用单元格名称来定位单元格 这是我现在的工作代码: Select Case Target.Address Case "$G$14" If Range("RequestorField").Value = "" Then Range("RequestorField").Interior.Color = RGB(255, 199, 206

我有一个动态Excel电子表格,可以在其中添加和删除行。由于这个原因,我不能用细胞的范围来定位细胞。在
案例
场景中,是否可以使用单元格名称来定位单元格

这是我现在的工作代码:

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:这些都在工作表更改功能中,因此我需要使用“case”的原因。

使用
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

使用
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

谢谢亚历克斯!但是,当我尝试在某处插入新行时,它是有效的——我得到了这个错误<代码>应用程序定义或对象定义错误。这不像
Select Case Target.Name.Name
。通过在
Select Case
之前添加
On Error Resume Next
解决此问题,谢谢Alex!但是,当我尝试在某处插入新行时,它是有效的——我得到了这个错误<代码>应用程序定义或对象定义错误。这不象
选择案例目标.Name.Name
。在
选择案例