根据输入到单元格中的数字为单元格分配颜色和值,而无需点击运行按钮

Posted

技术标签:

【中文标题】根据输入到单元格中的数字为单元格分配颜色和值,而无需点击运行按钮【英文标题】:Assigning colors and value to a cell, without having to hit the run button, based on a number input into a cell 【发布时间】:2020-12-12 19:40:45 【问题描述】:

有没有一种方法可以根据输入到单元格中的数字自动填充单元格,而无需点击运行按钮?

例如,如果我在任何单元格中输入 1,则该单元格和上一格左一格的单元格将变为蓝色,其中包含数字 1?

【问题讨论】:

【参考方案1】:

是的,这是一件相当简单的事情。 Excel 中有一个事件,用于在名为“Worksheet.Change”的工作表上发生更改。此函数传递工作表上更改的单元格的地址。由于您将拥有已更改单元格的行和列,因此您可以从那里向左/向右和向上/向下移动并根据需要更改单元格。在 Google 上快速搜索“MS Excel 工作表 onchange 事件”会让您找到正确的方向。

【讨论】:

【参考方案2】:

这是基于 rbigjoepro75 的回答。将以下事件宏放在工作表代码区:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim v As Variant
    
    If Target.Row = 1 Then Exit Sub
    If Target.Column = 1 Then Exit Sub
    If Target.Count <> 1 Then Exit Sub
    v = Target.Value
    
    Application.EnableEvents = False
        Target.Offset(-1, -1).Value = v
        Target.Offset(-1, -1).Interior.Color = vbBlue
    Application.EnableEvents = True
    
End Sub

如果我们将 9 放在单元格 F8 中,我们会得到:

因为是工作表代码,所以安装非常容易,自动使用:

    右键单击 Excel 窗口底部附近的选项卡名称 选择查看代码 - 这将打开一个 VBE 窗口 粘贴内容并关闭 VBE 窗口

如果您有任何疑虑,请先在试用工作表上进行尝试。

如果您保存工作簿,宏将与它一起保存。 如果您使用的是 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx

删除宏:

    如上所示打开 VBE 窗口 清除代码 关闭 VBE 窗口

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件宏(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

必须启用宏才能正常工作!

【讨论】:

以上是关于根据输入到单元格中的数字为单元格分配颜色和值,而无需点击运行按钮的主要内容,如果未能解决你的问题,请参考以下文章

读取多个单元格的颜色,并根据颜色将颜色返回到另一个单元格

怎么在excel中一个单元格中显示出自动计算的标记背景颜色的单元格数值的和

在 Excel VBA 中,为单元格分配填充颜色会产生 #Value

根据数据框中单元格中的值将颜色应用于单元格

根据单元格中的 HEX 值设置自动颜色背景?

从相邻下拉列表的单元格中输入数据时,如何删除填充颜色?