根据格式更改单元格的值

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

我只需要所有的绿色单元有一个值。

条件格式似乎只能给我一个select,以将值更改为某种格式,而不是相反的方式。

你将需要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编辑器(工具>macros> Visual Basic编辑器),插入一个模块(右键单击VBAProject并插入>模块),然后将上面的代码粘贴到这个新的模块中。 然后,您可以从Excel执行代码:工具>macros…>macros…

尝试使用公式将值“y”放入单元格中,然后应用基于该值的条件格式。