我正在尝试设置个人管理电子表格以供工作。我有一个不同优先级的任务列表。
我在这里要做的是,如果任务数量*优先级达到某个阈值,则可用性单元格的颜色会发生变化,并且描述单元格值会发生变化,例如“忙碌”
这是我到目前为止的代码,当我更改任务列表的值时,如何实现它自动更改
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
这里是电子表格的捕获,如果这有帮助,突出显示的灰色部分是所有魔法发生的地方
答案 0 :(得分:1)
您可以对工作表使用Change
事件:
Private Sub Worksheet_Change(ByVal Target As Range)
答案 1 :(得分:0)
我选择了条件格式化,这是我之前没有听说过的。在查找并学习如何使用它之后,它似乎是迄今为止最好的选择。感谢@mehow的usggestion