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

时间:2017-12-20 15:02:20

标签: excel excel-vba 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(Target.Address, "$", "") & """"
            Sheets("Ribs").Range(MYRange).Style.Name = "Good"
        End If
    End If
End Sub

但由于行Sheets("Ribs").Range(MYRange).Style.Name = "Good"

,我无法使其正常工作

我无法弄清问题是什么。

1 个答案:

答案 0 :(得分:1)

如果代码是从非英语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",如果我想引用它。