Excel 2007-条件格式-如何将颜色代码转换为颜色?

Excel 2007-条件格式-如何将颜色代码转换为颜色?,excel,excel-2007,vba,Excel,Excel 2007,Vba,我有一个非常简单的宏代码,显示记录在单元格内的颜色代码的颜色: Sub ShowColour() ColCod = Selection() With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = ColCod .TintAndShade = 0 .PatternTintAndShade =

我有一个非常简单的宏代码,显示记录在单元格内的颜色代码的颜色:

Sub ShowColour()
    ColCod = Selection()
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = ColCod
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

我现在正在寻找一些方法,将单元格的内容转换成另一种颜色代码,并立即显示其颜色。我已经尝试过条件格式化,但似乎我只能在预定义的格式中进行选择。有人能给我一个提示吗?

如果我没弄错,您需要将此代码添加到相应的工作表模块中,比如一个名为“Sheet1(Sheet1)”的模块(而不是像Module1这样的标准模块)。因此,此代码将为您触发适当的事件

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ErrorHandler
With Target.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = Target.Value
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

Exit Sub
ErrorHandler:
    MsgBox "Color number rather doesn't exists"
End Sub

我将您的基本代码保存在里面,这样会更方便。

条件格式设置的颜色在Range.Interior.Color中不可见。当用户向单元格中输入颜色代码时,是否希望单元格改变颜色?您可以使用OnChange事件来运行您的子例程。是的,我希望当用户向单元格中输入新的颜色代码时,单元格可以更改颜色,这已经非常有效了。此外,我希望看到原始色码的颜色,这样用户就可以通过插入新的色码来决定修改哪些单元格。这非常有效。谢谢!还有一件事我还没有弄清楚:我不仅想看到我编辑的那些字段中的颜色,还想看到编辑前的原始颜色,而且只有在我进行更改时才会触发您的代码。基本上,我正在寻找一种类似于条件格式的行为。单元格显示一种颜色,当内容改变时,颜色也会改变。“我不仅希望看到我编辑的那些字段中的颜色,还希望看到编辑前的原稿”。。。怎样??哪种方式??我不明白。。。你试过什么了吗?到目前为止,我所做的是利用你的想法编写一个代码,处理不同列中的更改和不同单元格内容,就像我希望在任何单元格中进行更改时所做的那样。我还没有找到一种在色码列中显示色码的方法,即在用户开始编辑单元格内容之前。该文件由WinWord宏创建。我希望用户打开它,查看包含颜色代码的列中的彩色单元格,然后决定:“在这个特定单元格中,让我将颜色代码更改为另一个”。