我的电子表格正在监控 CoinMarketCap 的价格,并每分钟动态更新我当前的投资组合。这个想法是,如果值低于、大于或等于之前的状态,则更改特定单元格的颜色:等于 = 黄色,大于 = 绿色,小于 = 红色。根据给定的 Excel 条件格式规则,无法执行此操作。有人可以帮忙吗?有现有的 VBA 代码可用吗?或示例
提前感谢您的帮助:-) Excel 2016 Jacqu
答案1
在 VB 编辑器窗口中双击获取硬币市场更新的工作表并粘贴此 VB 脚本。
我假设您在 A 列中获取更新。如果不同,请将第 6 行中的列名称替换为其他。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim newVal As Variant
If Target.Count > 1 Then
Exit Sub
End If
If Intersect(Range("A:A"), Target) Is Nothing Then
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
newVal = Target.Value
Application.Undo
Target.Offset(0, 1).Value = Target.Value
Target.Value = newVal
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
笔记, Excel 一旦更新 A 列中的值,您就会获得相邻列中的先前值。
请这样做,
- 选择整个 A 列或所需的行。
- 单击条件格式命令。
- 然后点击“突出显示单元格规则”。
然后按照**等于,大于和小于条件逐一格式化。
请记住,格式化时仅选择单元格 B2 进行比较。