İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Exceldə hüceyrə dəyərinə əsaslanan forma rəngini dəyişdirmək üçün necə?

A1-də xNUMX-dən daha kiçik olduğu halda A100 1-dən daha yüksəksə və 100-dən daha az olsa, forma rənginin müəyyən bir hüceyrə dəyərinə əsasən dəyişdirilməsi, məsələn, Excel-də maraqlı bir məsələ ola bilər. şekil rengi sarıdır və A200 1-dən daha böyük olduğunda, forma rəngləri göstərilən ekran görüntüsü kimi yaşıldır. Bir hüceyrə dəyəri əsasında şəklin rəngini dəyişdirmək üçün bu maddə sizin üçün bir üsul təqdim edəcəkdir.

doc dəyişiklik şəklində rəng 1

VBA kodu ilə hücum dəyərinə əsaslanan forma rəngini dəyişdirin


arrow mavi sağ bubble VBA kodu ilə hücum dəyərinə əsaslanan forma rəngini dəyişdirin


Aşağıdakı VBA kodu, bir rəng dəyəri əsasında şəklin rəngini dəyişməyə kömək edə bilər, xahiş edirəm:

1. Şəklinin rəngini dəyişdirmək istədiyiniz hesabat sekmesini sağa vurun və sonra seçin Kodları baxın kontekst menyusundan çıxdı Proqramlar üçün Microsoft Visual Basic pəncərədən, buraya aşağıdakı kodu kopyalayıb qoyun Modules pəncərə.

VBA kodu: Cell dəyərinə əsaslanan forma rəngini dəyişdirin:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160704
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value < 100 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
        ElseIf Target.Value >= 100 And Target.Value < 200 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbYellow
        Else
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
        End If
    End If
End Sub

doc dəyişiklik şəklində rəng 2

2. Və sonra A1 hücresindəki dəyəri daxil etdiyiniz zaman, forma rəngini təyin etdiyiniz hüceyrə dəyəri ilə dəyişdiriləcəkdir.

Qeyd: Yuxarıda göstərilən kodda, A1 sizin forma rənginizin dəyişdiriləcəyinə və hüceyrə dəyərinə bağlıdır Oval 1 əlavə şəklinizin formasıdır, siz onları ehtiyacınıza dəyişə bilərsiniz.



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mark · 6 months ago
    Hi... excellent solution... but how do I apply it to multiple shapes based on the corresponding values of a range of cells. Many thanks in advance for your help.
  • To post as a guest, your comment is unpublished.
    Cesare · 6 months ago
    How do I make the private sub to read the result from the AVERAGE(C1,C5,C9) calculation?

    Sub only works with numeric values; any thoughts and suggestions are greatly appreciated.
  • To post as a guest, your comment is unpublished.
    Steve A · 1 years ago
    Thanks for this which is really useful.

    I now want to use it with a pivot table on another worksheet which controls the data on the sheet with the shapes that I want to change colour. However, when I change the selection on the pivot table the data on the worksheet with the shapes is updated but the code does not run so the shapes do not change colour

    If I manually change the values the code runs and the colour of the shapes is updated.

    Question: what do i need to add to the code above to allow it to run automatically?
  • To post as a guest, your comment is unpublished.
    Yasir · 1 years ago
    How can this be applied if you have multiple shape in the same worksheet?
  • To post as a guest, your comment is unpublished.
    Alan · 1 years ago
    Great vba solution.

    It is possible to also use conditional formatting to colour the shapes.

    Set the name of each shape as the cell value. Using a With Each Shape then set the shape colour as the cell colour for all named shapes.

    The cell colour may be changed using conditional formatting based on numerical values.

    For example the colour of a semi transparent overlap on a city map can be used to graphically indicate population density per block with a graduated colour scheme.
    • To post as a guest, your comment is unpublished.
      Ed · 1 years ago
      Can you share an example of the code?