根据输入到单元格中的数字为单元格分配颜色和值,而无需点击运行按钮
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中一个单元格中显示出自动计算的标记背景颜色的单元格数值的和