在 Excel 中使用 VBA 将所有工作表的填充颜色设置为“无填充”

Posted

技术标签:

【中文标题】在 Excel 中使用 VBA 将所有工作表的填充颜色设置为“无填充”【英文标题】:Set all sheets' fill color to "No Fill" using VBA in excel 【发布时间】:2017-04-19 18:59:10 【问题描述】:

如何在 Excel 中使用 VBA(所有单元格)将所有工作表填充颜色设置为 No fill。与选择所有工作表相同,选择所有单元格(Control+A)并将fill color 更改为No fill

【问题讨论】:

【参考方案1】:

未经测试,但应该可以胜任:

Sub No_Fill_Wb()

Dim ws as worksheet

For each ws in Thisworkbook.Worksheets
    ws.Cells.Interior.ColorIndex = 0
Next ws

End Sub

【讨论】:

等价的也是ws.Cells.Interior.ColorIndex = xlNone【参考方案2】:

我在使用 Excel 2016 的代码(见下文)中使用了“0”,它使我的列变黑。

Master.Columns(Col_Start).Interior.Color = 0

但是,使用下面的“xlNone”确实对我有用。

Master.Columns(Col_Start).Interior.Color = xlNone 

【讨论】:

这是因为当您设置Range.Interior.Color 时,它期望一个对应于RGB 值的long。 0 -> #000000 是黑色的。 Range.Interior.ColorIndex 通过默认调色板递增,其中 0 为无填充【参考方案3】:

嘿,伙计们,您可以使用它来选择“无填充”选项“ThisWorkbook.Sheets(1).Interior.Color = xlNone”,否则如果您想设置任何背景颜色,您可以使用这种方式“ThisWorkbook.Sheets(1 ).Interior.Color = vbgreen"

【讨论】:

以上是关于在 Excel 中使用 VBA 将所有工作表的填充颜色设置为“无填充”的主要内容,如果未能解决你的问题,请参考以下文章

Excel vba将公式从一列自动填充到Excel中的最后一列

EXCEL中利用VBA一次性撤销与保护多个工作表的问题?

VBA实现查找两个EXCEL表不同的地方

如何正确地从 Excel 工作表的 VBA 连接到另一个 Excel 工作表?

Excel VBA如何填充不同工作表中的值

将控件(ActiveX或非ActiveX)添加到图表(Excel VBA)