excel - 根据格式更改单元格的值

标签 excel vba formatting

我有一个很大的 Excel 文件,其中一侧有一个列表或类(class),然后顶部有模块。要指定模块是否在类(class)中,链接类(class)和模块的单元格会显示为绿色,但没有任何值。

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

条件格式似乎只提供了将值更改为某种格式的选项,但反之则不然。

最佳答案

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

关于excel - 根据格式更改单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9191882/

相关文章:

excel - 使用VBA将计算结果输出到Excel中的多个单元格

excel - 条件格式 : using row() inside indirect() inside and() doesn't work. 我做错了什么?

java - iReport - 第一页的行在第二页结束

vba - 使用 onAction 和参数在运行时在 word vba 中构建菜单

vba - 将行更改的公式向下拖动除一个间隔之外的另一个间隔

pandas - 使用 Python 中的 StyleFrame 库在 Excel 中显示尾随零时出现问题

python - 使用openpyxl从Excel获取列宽

arrays - Excel VBA 替换为数组组

excel - 具有最大宽度条件的自动调整列?

java - 如何使用 Unicode 或 Java 中的任何替代方法显示 "sigma-hat"? (我有部分解决方案)