根据格式更改单元格的值

时间:2012-02-08 10:52:35

标签: excel vba formatting

我有一个大的Excel文件,其中一个列表或课程在一侧,然后是顶部的模块。要指定模块是否在课程中,链接课程和模块的单元格将显示为绿色,但没有值。

我只需要所有绿色单元格的值为y

条件格式化似乎只给我一个选项,可以将值更改为某种格式,但不能反过来。

2 个答案:

答案 0 :(得分:2)

你需要VBA才能做到这一点。我不认为Excel为用户提供了读取单元格格式的能力。

Sub PutYesInColouredCells()
    Dim r As Range
    Dim cell As Range

    Set r = Range("B2:F7") ' or wherever your table is located

    For Each cell In r
        If cell.Interior.ColorIndex <> xlColorIndexNone Then
            cell.Value = "y"
        End If
    Next cell

End Sub

要使用它,请打开Visual Basic编辑器(工具&gt;宏&gt; Visual Basic编辑器),插入模块(右键单击VBAProject并插入&gt;模块),然后将上述代码粘贴到此新模块中。然后,您可以从Excel执行代码:工具&gt;宏...&gt;宏...

答案 1 :(得分:0)

尝试使用公式将值“y”放在单元格中,然后根据该值应用条件格式。