簡體   English   中英

根據計算的單元格值更新形狀的顏色

[英]Update color of shape depending on calculated cells value

我試圖用彩色形狀顯示特定百分比變量的狀態,它越高越差。 我嘗試使用 Worksheet_Change 但這不起作用,因為這是一個計算單元格,用戶不會直接更改它。 我的 Worksheet_Calculate 語法有什么問題?

我試過只用普通數字(不是百分比),但它仍然不起作用。

這是工作表上的代碼

Private Sub Worksheet_Calculate()
Dim target As Range
 Set target = Range("A1")
 If Not Intersect(target, Range("A1")) Is Nothing Then
 If IsNumeric(target.Value) Then
     If target.Value < 0.1 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
     ElseIf target.Value >= 0.1 And target.Value < 0.25 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbBlue
          ElseIf target.Value >= 0.25 And target.Value < 0.5 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbBlue
     Else
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
     End If
 End If
 End If
 
End Sub

謝謝你,盧普

代碼工作如下,

 If IsNumeric(Range("A1").Value) Then
     If Range("A1").Value < 0.1 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
     ElseIf Range("A1").Value >= 0.1 And Range("A1").Value < 0.25 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbBlue
          ElseIf Range("A1").Value >= 0.25 And Range("A1").Value < 0.5 Then
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbYellow
     Else
         ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
     End If
 End If
 
End Sub

感謝@BigBen

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM