Excel 更改范围。单元格值更改时的样式

Excel 更改范围。单元格值更改时的样式,excel,vba,Excel,Vba,单元格只有两种可能的输入:True或False(布尔值)。我的目标是,如果布尔值设置为True,则更改样式 我尝试了以下代码 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("F2:F200")) Is Nothing Then If Target Then MYRange = """" & Replace(Targ

单元格只有两种可能的输入:True或False(布尔值)。我的目标是,如果布尔值设置为True,则更改样式

我尝试了以下代码

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F2:F200")) Is Nothing Then
        If Target Then
            MYRange = """" & Replace(Target.Address, "$", "") & """"
            Sheets("Ribs").Range(MYRange).Style.Name = "Good"
        End If
    End If
End Sub
但由于行
Sheets(“Ribs”).Range(MYRange).Style.Name=“Good”


我不知道问题出在哪里。

如果代码是从非英语Excel运行的,并且使用的是
.Style
.LocalFormula
,那么将Excel翻译成其他语言可能会破坏代码

长话短说,运行以下命令:

Public Sub TestMe()
    Dim st As Style
    For Each st In ThisWorkbook.Styles
        Debug.Print st.Name
    Next st
End Sub
在即时窗口中查看结果。在德语Excel中,我收到的结果如下:

Ergebnis
Erklärender Text
Gut
Comma
Neutral
Notiz
Percent

正如你所看到的,我没有“好”作为一种风格。如果我想引用它,我必须使用“Gut”。

这行有什么问题,有错误吗?另外,这听起来像是条件格式的工作。通过删除绝对引用,您想做什么?如果事件代码的工作表不同,为什么不直接执行
Target.Style.Name=Good
?或
Sheets(“Ribs”).Range(Target.Address).Style=“Good”
。@BruceWayne,因为它会引发错误
参数数量错误或无效的属性分配
@SJR这是有效的!