【问题标题】:Excel: setting the color of a cell to anotherExcel:将单元格的颜色设置为另一个
【发布时间】:2012-11-01 20:57:48
【问题描述】:

如何确定一个单元格的颜色等于另一个,例如: A4是然后C2是青色青色。 A2 则 C2 橙色颜色为橙色。

【问题讨论】:

  • 您无法使用公式更改单元格的颜色。您可以通过编写自己的 VBA 函数来获取另一个单元格的颜色,但如果您想更改颜色,则必须使用不能像函数一样调用的宏。函数所能做的就是返回一个值,它不能更改任何工作表属性,例如格式。

标签: excel colors formatting conditional


【解决方案1】:

没有 excel 公式可以让您获得单元格的颜色,也没有一个可以设置不同单元格的颜色。

但是,您可以创建一个函数来获取特定单元格的颜色 - 或者,就像在我的示例中一样,获取函数调用单元格的颜色:

Public Function GetColor()
    Dim rng As Range

    If TypeName(Application.Caller) = "Range" Then
        Set rng = Application.Caller
    End If
    GetColor = rng.Cells.Interior.Color
End Function

现在你可能会想,好吧,然后我修改它,只是为了设置颜色。但不 - 不是那样工作的。要更改单元格颜色,您必须使用 Worksheet_Change 事件并将每个单元格设置为其中的长值作为颜色。

Target.Interior.Color = Target.Value

当使用Worksheet_Change 时,会是这样。

您当然也可以使用ColorIndex - 只需进行相应调整即可。

【讨论】:

    【解决方案2】:

    这里有一些 C# 代码,也许对你有帮助:

    xlSheet.Range["A10", "A10"].Interior.Color = ColorTranslator.ToOle(System.Drawing.Color.Cyan);
    xlSheet.Range["C10", "C10"].Interior.Color = xlSheet.Range["A10", "A10"].Interior.Color;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多