繁体   English   中英

VBA Excel自动更改颜色和值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM