[英]VBA Excel automatic colour and value change
我正在尝试为工作设置个人管理电子表格。 我列出了具有不同优先级的任务列表。
我要在此处执行的操作是,如果任务数*优先级达到某些阈值,则可用性单元格的颜色会更改,描述单元格的值也会更改,例如“忙”
这是我到目前为止的代码,当我更改任务列表的值时如何实现它以自动更改
Sub Avail_flag()
TasksRange = ActiveSheet.Range("P3:P6")
availcells = Range("M8,N8")
busyflag = 0
medBusyFlag = 0
highBusyFlag = 0
imedBusyFlag = 0
If Range("p4") > 0 Then
medBusyFlag = 1
ElseIf Range("p4") > 2 Then
medBusyFlag = 2
ElseIf Range("p5") > 0 Then
highBusyFlag = 1
ElseIf Range("p5") > 2 Then
highBusyFlag = 2
ElseIf Range("p6") > 0 Then
imedBusyFlag = 1
End If
For Each sell In lRange
busyflag = (medBusyFlag + (highBusyFlagI * 2) + (imedBusyFlag * 3))
If busyflag > 0 Then
For Each cell In Range(availcells)
cell.Color = green
Next
cell("N8").Value = "Occupied"
ElseIf busyflag > 3 Then
For Each cell In Range(availcells)
cell.Color = orange
Next
cell("N8").Value = "Busy"
ElseIf busyflag > 5 Then
For Each cell In Range(availcells)
cell.Color = red
Next
cell("N8").Value = "Unavailable"
Else
For Each cell In Range(availcells)
cell.Color = white
End If
End Sub
这是电子表格的捕获(如果有帮助的话),突出显示的灰色部分是发生所有魔术的地方
您可以为工作表使用Change
事件:
Private Sub Worksheet_Change(ByVal Target As Range)
我去了条件格式,这是我以前从未听说过的。 在查找并学习如何使用它之后,到目前为止,它似乎是最好的选择。 谢谢@mehow的帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.