gpt4 book ai didi

colors - 当 A 列中的值更改时更改行颜色的 VBA 代码

转载 作者:行者123 更新时间:2023-12-03 01:18:39 25 4
gpt4 key购买 nike

我的电子表格设置如下:

我在 A 列中有一个职位编号列表,在 B 列中有一个相应的职位名称列表。我需要将某个职位编号的所有行都着色。例如,第 2-4 行 A 列中有“3705”,因此这些行将被涂成红色。第 5 行和第 6 行 A 列中有 4169,并且颜色为绿色。第 7-10 行 A 列中有 5518,颜色为红色(红色和绿色交替)。

有人能给我一个 VBA 代码,它可以自动/使用宏执行我上面描述的操作吗?

谢谢!!

最佳答案

Sub colorize()

Dim r As Long, val As Long, c As Long

r = 1
val = ActiveSheet.Cells(r, 1).Value
c = 4 '4 is green, 3 is red '

For r = 1 To ActiveSheet.Rows.Count
If IsEmpty(ActiveSheet.Cells(r, 1).Value) Then
Exit For
End If

If ActiveSheet.Cells(r, 1).Value <> val Then
If c = 3 Then
c = 4
Else
c = 3
End If
End If

ActiveSheet.Rows(r).Select
With Selection.Interior
.ColorIndex = c
.Pattern = xlSolid
End With

val = ActiveSheet.Cells(r, 1).Value
Next

End Sub

如果您希望每次 A 列中的单元格更改值时都触发宏,请将以下内容添加到相关工作表的模块中:

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A:A")) Is Nothing Then
Exit Sub
End If

colorize

End Sub

关于colors - 当 A 列中的值更改时更改行颜色的 VBA 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4257730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com