Hücre Değerine Göre Şekil Dolgu Rengini Değiştirme

Katılım
9 Aralık 2007
Mesajlar
17
Excel Vers. ve Dili
Office 2007-İngilizce
Merhaba arkadaşlar,

İki sayfa bulunan bir Excel dosyasında, FORM isimli sayfada üretim prosesine ait veriler, AKIS SEMASI sayfasında şeklillerinden oluşan bir akış şeması var.

AKIS SEMASI sayfadaki şeklillerin sayısı üretilen parçadaki proses sayısına göre değişiyor. Yani bir şemada 10 proses varken başka bir Excel dosyasındaki şemada 100 şekil olabiliyor.

AKIS SEMASI sayfasındaki her bir şeklin ismi proses koduna göre tanımlanmış durumda. Yani proses kodu YP01000001A ise AKIS SEMASI sayfasında o prosese denk gelen şeklin ismi de YP01000001A.

Yapmak istediğim ise FORM sayfasında B8 hücresine prosese ait kod numarasını yazdığımda ASKIS SEMASI sayfasındaki o prosese ait şeklin renginin değişmesi.

Değerli yardımlarınızı bekler şimdiden teşekkür ederim.
 
Katılım
9 Aralık 2007
Mesajlar
17
Excel Vers. ve Dili
Office 2007-İngilizce
Deneme yanılma yoluyla bir yere kadar gelebildim. Şöyle bir makro kodu oluştu.

Kod:
Sub RenkDegistir()
'
' RenkDegistir Macro
'

'
    [COLOR="Red"]ActiveSheet.Shapes.SelectAll
    Selection.ShapeRange.Fill.Visible = msoFalse[/COLOR]
    ActiveSheet.Shapes.Range(Range("A1").Value).Select
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Solid
    End With
End Sub
Kırmızı satırları makroyu her çalıştırdığımda AKIS SEMASI sayfasındaki tüm dolguları temizleyip AKIS SEMASI sayfasında A1 hücresine yazdığım proses koduna göre ilgili şekli bulup onun rengini değiştirmesi için ekledim.

Bu kodla ilgili şöyle bir sıkıntı var. A1 hücresine yazdığım proses kodunu değiştirdiğimde bazen tüm dolguları temizleyip sadece ilgili şeklin rengini değiştirirken, bazen hiç dolgu temizlemeden 2. hatta 3. şekli de renklendiriyor.

Ayrıca makro FORM sayfasındaki B8 hücresine yazacağım proses koduna göre çalışmalı. AKIS SEMASI sayfasındaki A1 hücresine yazılan değere göre değil.

Bu arada konuyu doğru yere açıp açmadığımdan da emin değilim. Yardımcı olursanız sevinirim :)
 
Üst