【发布时间】:2019-01-21 13:50:51
【问题描述】:
我有有效的 VBA 代码,但似乎不是最佳的。当点击 N 列中的单元格时,代码应更改 H 列和 I 列中相关单元格中文本的颜色。
例如,当单击单元格 N5 时,单元格 H5 和 I5 中的文本应变为白色。未点击时,它们会恢复正常颜色。
代码似乎不是最优的,因为 I 列的变化落后于 H 列的变化。
我想要一种让两者都立即改变的方法。
(如果您可以使单元格更改颜色并立即变为粗体,则奖励积分,具有与颜色类似的约束,一旦取消选择单元格,粗体就会消失)。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
Intersect(Columns("H"), ActiveSheet.UsedRange).Font.Color = vbBlack
Set r = Intersect(Range("N:N"), Target)
If r Is Nothing Then Exit Sub
Cells(r.Row, "H").Font.Color = vbWhite
Intersect(Columns("I"), ActiveSheet.UsedRange).Font.Color = vbBlack
Set r = Intersect(Range("N:N"), Target)
If r Is Nothing Then Exit Sub
Cells(r.Row, "I").Font.Color = vbWhite
End Sub
请注意,这是我第一次写 VBA,因此有点业余。
【问题讨论】:
标签: excel vba conditional highlight