• DİKKAT

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

haritada nereyi tıklarsan veri doğrulama kulakçığının değişmesi

Katılım
12 Nisan 2008
Mesajlar
199
Excel Vers. ve Dili
2003 TÜRKÇE
istedigim haritada ankara istanbul izmir ilinden hangisine tıklarsam veri doğrulama kulakçığında o ilin adının gelmesi. acaba bu mümkünmüdür? her ile yeni bir sayfa açıp köprü kurmak istemiyorum çünkü ana dosyamda 81 il ve her ay itibariyle değişen veriler var ve 81 sayfayı ayrıayrı her ay değiştirmem lazım. yardımcı olan dostlara şimdiden teşekkür ederim.
 

Ekli dosyalar

Üzerine tıklanan shape'nin adına ulaşılmıyor veya ben ulaşamadım. Eğer ulaşlabilirse tek mokro yazıp mesele çözülebilir. Yoksa aşağıdaki gibi 81 tane macro yazıp herbirini ilgili shape'ye atamak lazım.

Sub Makro1()
Range("C20").Value = "adana"
End Sub
 
öncelikle ilginiz için teşekkür ederim ama yukarıdaki yazdığınız makroyu 3 il için denedim ama başaramadım sanırım ilgili shape atayamıyorum
 
Shape'nin üzerinde sağ tıklayın çıkan listeden, makro atayı tıklayın, yine çıkacak olan listeden istediğiniz makroyu seçip, tamama tıklayın. Makroları bağımsız bir modül oluşturup, ona yazarsanız.
 
son bir şey daha sorabilirmiyim mause ilgili ilin üzerine geldiğinde ilin adını gösterebilirmi?
 
Makrolarınız aşağıda. o dediğiniz yapılabildeydi bu makrolara gerek kalmayacaktı.
Sub Adana()
 
Son düzenleme:
çok teşekkür ederim iyiki bu site ve bu sitede sizin gibi dostlar var
 
Aşağıdaki kodları Sizin Harita Sayfasının kod sayfasına yazdığpınız kodların altına eklerseniz formüllerede gerek kalmaz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$20" Then
Range("B23").Value = Sheets("veri").Range("B" & Sheets("veri").Columns("A:A").Find(Target, LookIn:=xlValues).Row)
Range("C23").Value = Sheets("veri").Range("C" & Sheets("veri").Columns("A:A").Find(Target, LookIn:=xlValues).Row)
Range("D23").Value = Sheets("veri").Range("D" & Sheets("veri").Columns("A:A").Find(Target, LookIn:=xlValues).Row)
Range("E23").Value = Sheets("data").Range("B" & Sheets("data").Columns("A:A").Find(Target, LookIn:=xlValues).Row)
Range("F23").Value = Sheets("data").Range("C" & Sheets("data").Columns("A:A").Find(Target, LookIn:=xlValues).Row)
Range("G23").Value = Sheets("data").Range("D" & Sheets("data").Columns("A:A").Find(Target, LookIn:=xlValues).Row)

End If
End Sub
 
Aşağıdaki iki prosedürüde bir module kopyalayın. Sonra "makroata" isimli prosedürü bir kez çalıştırın. Böylece haritadaki tüm nesnelere bu "sehiradi" isimli makroyu başlamış olursunuz. Daha sonrada herhangi bir ilin üzerine tıklayarak sonucu görebilirsiniz.

Kod:
Sub makroata()
On Error Resume Next
For a = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(a).OnAction = "sehiradi"
Next
End Sub
 
Sub sehiradi()
MsgBox Application.Caller
End Sub

Not: "makroata" makrosu hata verebilir önemsemeyin. Sonucunu takip edin. Hata verme sebebi Sayfadaki nesnerdeki düzensizliklerdir.
 
Geri
Üst