excel - 尝试更改宏,以便当活动单元格是数字时,它会改变颜色,但如果不是,它不会
问题描述
这是我目前拥有的:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case True
Case Target.HasFormula
Target.Font.Color = RGB(0, 0, 0)
Case Target.Value <= 0
Target.Interior.Color = RGB(204, 232, 255)
Case Target.Value > 0
Target.Interior.Color = RGB(204, 232, 255)
Case Else
Target.Font.Color = RGB(0, 0, 0)
End Select
End Sub
但这也会为文本等着色。非常感谢任何帮助或建议。
谢谢你。
解决方案
用于IsNumeric
检查单元格是否为数字。我假设您不希望将任何颜色应用于公式。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not IsNumeric(Target.Value) Then Exit Sub
If Target.HasFormula Then Exit Sub
Select Case True
Case Target.Value <= 0
Target.Interior.Color = RGB(204, 232, 255)
Case Target.Value > 0 ' Or Case Else
Target.Interior.Color = RGB(204, 232, 255)
End Select
End Sub
推荐阅读
- javascript - 非法 base64 字符
- r - 如何计算从列表中采样所有样本的概率?
- reactjs - Reactjs 没有更新 product_number 的新值
- vim - 将复制的内容从 vim 粘贴到 IDE 会插入一个新行
- oracle - ORA-01652: 无法在表空间 TEMP 中将临时段扩展 128
- html - Angular 7.1.4 HTML 避免复制粘贴重组
- sql - Postgresql 从日期数组之间的日期范围中选择
- python-3.x - 缓慢缩放矩形(pygame)
- ios - 如何对 RxCocoa BehaviorRelay 进行单元测试
- typescript - 如何在不实例化的情况下调用类的方法?