• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

şeklin dolgu rengini makro ile değiştirme

Katılım
2 Kasım 2010
Mesajlar
9
Excel Vers. ve Dili
Excel 2007 -Türkçe
Merhaba,

Excel'de bir Türkiye iller haritası çizdim. Tüm illeri ayrı ayrı çizim olrak duruyor. İlin üzerinde ilin ismi yazıyor. Yazı tıklandığına, macro yardımıyla o ille alakalı bayi bilgileri geliyor. her ilde bayi yok. fakat bayimiz olan ilin başka renkte gözükmesini istiyorum.
İki yöntem; ya elle ilin çizimini tıklayarak dolgu rengi belirleyeceğim. ya da, ki istediğim bu; o şehre, ilgli çalışma sayfasından bayi eklendiğinde otomatik olarak o şehrin çiziminin rengi değişecek. Ama nasıl???

Varmı acaba bir baba yiğit bu işi çözecek? :)

Şimdiden teşekkürler arkadalar.
 
Teşekkür ederim, dosyayı ekliyorum.

box_changes_color.xls içerisnde güzel bir uygulama mantığı var. yaptığın seçime göre çizim dolgu rengi değişiyor.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("keyValue").Address Then
changeBoxColor (Range("keyValue").Value)
End If


End Sub
Sub changeBoxColor(keyValue As String)

Select Case keyValue
Case "North"
ActiveSheet.Shapes("Rectangle 3").Fill.ForeColor.SchemeColor = 13
Case "South"
ActiveSheet.Shapes("Rectangle 3").Fill.ForeColor.SchemeColor = 14
Case "East"
ActiveSheet.Shapes("Rectangle 3").Fill.ForeColor.SchemeColor = 15
Case "West"
ActiveSheet.Shapes("Rectangle 3").Fill.ForeColor.SchemeColor = 16
End Select

End Sub


Bu uygulamayı şu hale çevirirmem lazım; "örneğin çalışma sayfasında, 36, 55 ya da 44 rakamları gibi sabit rakamlar içeren hücrelerin hemen yanındaki hücreye herhangi bir değer girişi olduğunda, şeklin dolgu rengi değişecek. yani, şehire bayi belirlenirse şehrin haritadaki rengi değişecek hepsi bu.

Bir sitede şöyle bir kod buldum. denedim ama çalıştıramadım. Sanırım bu kod üzerinden gitmek lazım(A1 hücresine girilen 1 ya da 0 değerine göre, Oval 1 isimli şeklin dolgu rengi, 10 ve 20 oluyor)


Sub Test()
If Range("A1").Value = 0 Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.SchemeColor = 10
If Range("A1").Value = 1 Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.SchemeColor = 20
End If
End If
End Sub

Sanırım bu iki mantığı harmalarsak bir şey ortaya çıkacak.

Şimdiden teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:
alternatif olarak farklı bir uygulama inceleyiniz.

a1 hücresindeki değere göre seçilen nesneye (tuttuğumu runklendir) düğmesine tıkladığırız zaman nesne renk değiştiriyor.
 

Ekli dosyalar

Sanırım bu işinizi görecektir.

Asri, dostum tam olarak istediğim şey bu işte! Çok teşekkür ederim.

Çalışmayı güncelledim, burada tek bir sorum kaldı. Şekilleri başka bir çalışma sayfasına taşırsak, kodu nasıl yazmamız lazım. Güncellediğim çalışmada yeni sayfa açtım(sheet2) ve şekiller orada görünsün istiyorum.

Çok teşekkür ederim tekrar.
 

Ekli dosyalar

alternatif olarak farklı bir uygulama inceleyiniz.

a1 hücresindeki değere göre seçilen nesneye (tuttuğumu runklendir) düğmesine tıkladığırız zaman nesne renk değiştiriyor.

Halit Bey çok teşekkürler. Alternatif olarak elimde bulunduruyorum.
 
Asri, dostum tam olarak istediğim şey bu işte! Çok teşekkür ederim.

Çalışmayı güncelledim, burada tek bir sorum kaldı. Şekilleri başka bir çalışma sayfasına taşırsak, kodu nasıl yazmamız lazım. Güncellediğim çalışmada yeni sayfa açtım(sheet2) ve şekiller orada görünsün istiyorum.

Çok teşekkür ederim tekrar.

İstediğiniz şekilde, düzenlendi.
 

Ekli dosyalar

merhaba.
sadece oval şekillerin rengi değişebiliyor. ben altıgen kullanmak istiyorum
 
halit 3

yüklediğiniz dosyada cisimleri ovalden altıgene çevirdiğimde çalışmıyor
 
Geri
Üst