[英]VBA: Conditional formatting cell colors based of timer with it's own conditions
我在文本框中有一個計時器,隨着計時器的計數,它會從綠色變為黃色和紅色。 顏色變化的時間間隔由單元格下拉菜單中的選擇決定。
問題:我怎樣才能讓周圍的細胞也改變顏色?
If StopWatch.Range("E3") = "Anodized" Then
If Calculations.Range("A1").Value > Calculations.Range("B3") And _
Calculations.Range("A1").Value <= Calculations.Range("B4") Then
With StopWatch.Shapes("TimeBox")
.Fill.ForeColor.RGB = RGB(0, 255, 0) 'Green
End With
Else
If Calculations.Range("A1").Value > Calculations.Range("B4") And _
Calculations.Range("A1").Value <= Calculations.Range("B5") Then
With StopWatch.Shapes("TimeBox")
.Fill.ForeColor.RGB = RGB(255, 255, 0) 'Yelow
End With
Else
If Calculations.Range("A1").Value > Calculations.Range("B5") Then
With StopWatch.Shapes("TimeBox")
.Fill.ForeColor.RGB = RGB(255, 0, 0) 'Red
End With
End If
End If
End If
End If
上面的代碼是我目前擁有的條件格式的示例。 我在下拉框中重復了其他幾個選項。
將我的評論擴展到完整的答案...
使用StopWatch.Shapes("TimeBox").TopLeftCell.Offset(ROWS,COLUMNS).Resize(ROWS,COLUMNS)
引用周圍的單元格。 例如,如果我想要 TimeBox 周圍的每個相鄰單元格,我可以像StopWatch.Shapes("TimeBox").TopLeftCell.Offset(-1,-1).Resize(3,3)
一樣引用它們,這將返回 TimeBox 周圍的 3x3 Range左上角。
這是您應用此代碼的代碼。 我還將您的 If/Else 更改為看起來更干凈的 Select 案例。
Dim LowerLimit As Variant, MidLimit As Variant, UpperLimit As Variant
LowerLimit = Calculations.Range("B3").Value
MidLimit = Calculations.Range("B4").Value
UpperLimit = Calculations.Range("B5").Value
Dim TimeBox As Shape, SurroundingRange As Range
Set TimeBox = StopWatch.Shapes("TimeBox")
Set SurroundingRange = TimeBox.TopLeftCell.Offset(-1, -1).Resize(3, 3) 'Edit this range as neccesary
If StopWatch.Range("E3") = "Anodized" Then
Select Case Calculations.Range("A1").Value
Case LowerLimit To MidLimit
TimeBox.Fill.ForeColor.RGB = RGB(0, 255, 0) 'Green
SurroundingRange.Interior.Color = RGB(0, 255, 0)
Case MidLimit To UpperLimit
TimeBox.Fill.ForeColor.RGB = RGB(255, 255, 0) 'Yellow
SurroundingRange.Interior.Color = RGB(255, 255, 0)
Case Is > UpperLimit
TimeBox.Fill.ForeColor.RGB = RGB(255, 0, 0) 'Red
SurroundingRange.Interior.Color = RGB(255, 0, 0)
End Select
End If
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.