如何停止 Excel 中的无限单元格颜色

如何停止 Excel 中的无限单元格颜色

我打开一个空的 Excel 表,选择整个行“10”,然后单击填充颜色“黄色”。现在整个行“10”都变成了黄色。
然后我注意到我实际上只需要到列“X”为止的黄色单元格。为了解决这个“问题”,我选择整个行“10”,单击填充颜色“无填充”,选择单元格“A10”到“X10”,然后单击填充颜色“黄色”。现在只有单元格“A10”到“X10”是黄色,所有其他单元格的填充颜色都是“无填充”。
但是,如果您有数百行使用不同的颜色,那么就不再那么容易了,因为您必须对每一行单独执行此操作。

在旧版本的 Excel 中,或者如果您将 Excel 文件保存为 .xls,则可以选择从“Y”列到“IV”(旧版本 Excel 中的最后一列)的所有列,然后将填充颜色设置为“无填充”。
但在当今版本的 Excel 中,您拥有或多或少无限的列,因此这种方法不再有效。
注意:如果您使用新版本的 Excel 打开已执行此方法的文件,您会突然再次看到“IV”列右侧的原始颜色。

所以我的问题是;是否有可能告诉 Excel,列“X”之后的所有单元格的填充颜色都必须为“无填充”?

答案1

在旧版 Excel 中,或者如果您将 Excel 文件保存为 .xls,则可以选择从“Y”列到“IV”(旧版 Excel 中的最后一列)的所有列,然后将填充颜色设置为“无填充”。但在当今版本的 Excel 中,您拥有的列或多或少是无限的,因此这种方法不再有效。

您可以选择不填充的第一列,使用 cntrl+shift+右箭头将选择范围扩展到右侧的所有列,然后选择不填充,方式与在旧版本的 Excel 中相同。

答案2

我现在用以下 VBA 宏解决了我的“问题”:

Public Sub Remove_Infinite_Cell_Colors()
  Dim Row As Long
  Dim Column As Long
  Dim LastRow As Long
  Dim LastColumn As Long
  Dim BackgroundColor() As Long
  Dim BackgroundPattern() As Long

  LastRow = ActiveSheet.UsedRange.Rows.Count
  LastColumn = ActiveSheet.UsedRange.Columns.Count

  ReDim BackgroundColor(LastColumn) As Long
  ReDim BackgroundPattern(LastColumn) As Long

  For Row = 1 To LastRow
    For Column = 1 To LastColumn
      BackgroundColor(Column) = Cells(Row, Column).Interior.Color
      BackgroundPattern(Column) = Cells(Row, Column).Interior.Pattern
    Next

    Rows(Row).Interior.Pattern = xlNone

    For Column = 1 To LastColumn
      Cells(Row, Column).Interior.Color = BackgroundColor(Column)
      Cells(Row, Column).Interior.Pattern = BackgroundPattern(Column)
    Next
  Next
End Sub

此宏将所有行的颜色设置为“无填充”,然后用之前的颜色为每个单元格着色。

答案3

使用相对引用创建命名范围。

例如,您希望单元格Axxx:Xxxx(“xxx”是行号)获得颜色,但不影响行中的任何其他单元格(X 列以后的列)。

因此,为这部分工作选择一行。也许你选择第 13 行。选择(“突出显示”)单元格A13。创建一个命名范围(无论你喜欢什么)并命名它,这样你就能记住它的名字。实际上,最好是按字母顺序排列在任何按字母顺序排列的列表开头附近的东西:也许以“_”或“AA”开头的东西。

对于Refers to框,输入以下内容:

=$B13:$X13,$A13

只需复制并粘贴即可。保存时,Excel 将添加工作表名称,但无需担心,何必费力,甚至可能出错?只需让 Excel 完成即可。

按照上面的例子进行操作:

  1. 地址中不要添加多余的“$”。ROW 应位于Relative其作用的位置,以匹配您所在的行,但应始终选择相同的列,而不是始终只影响一组精确的单元格。也不要删除任何内容$
  2. 千万不要为了“简化”而将范围设为“A13:X13”。无论你选择命名范围时,最后列出的单元格都会被选中,我敢肯定你不会希望那是 X 列单元格!(这是“Excel 使用了一个奇怪的 Windows 功能”,并非 Excel 独有的。)

那么,这对您有什么帮助?

编辑栏(按 可在此编辑公式)左侧F2有一个框,您通常会在其中看到当前所选单元格的地址。这实际上是一个下拉框,为您提供可用命名范围的列表。如果您单击框右侧下拉框的小“向下”三角形,您会看到该列表,现在您明白为什么我建议选择一个出现在顶部或附近的名称。

如果您选择该名称,Excel 将为您当前选定的单元格所在的行选择您关心的列范围。因此,如果在行 2398,它将选择 A2398:X2398。如果您使用上述范围,单元格 A2398 将是当前选定的单元格。从不同的行开始,它将是选定这些列的单元格所在的不同行。

$您在框中使用单元格字母部分的原因Refers to是,无论您单击名称时选择了哪个单元格,都将使用相同的列。因此,如果您在 FFG 列中单击它,您仍将选择 A:X,而不是 FFG:... 之类的。

现在改变颜色。然后开始工作。

还有一件有用的事情:如果您想改变颜色,然后移动到其他行并进行另一种颜色改变(换句话说,中间没有其他工作,而只是想为第 3、54、85、88、202 和 342 行上色,然后您将选择范围、颜色,移动到下一行您看到需要完成,选择范围、颜色等),您可以选择第一行的单元格并进行着色,然后移动到下一行您看到需要完成或在您的列表中。再次选择范围,但这次通过按或可节省大量击键,Ctrl-Y并且F4将重复您的上一个操作(上色)。这通常不适用于数据输入,但适用于格式化等操作。因此,一次单击,一次按压,该行就完成了,您可以进入下一行。

相关内容