• DİKKAT

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

İle göre ilçe getirme

Katılım
14 Eylül 2008
Mesajlar
139
Excel Vers. ve Dili
Office 2003 Serisi
Merhaba üstadlar İl ve ilçe başlıklı bir listem var. İlçenin yanında hangi ile bağlı olduğu yazıyor. Ben a1 hücresine ankarayı seçince açılır kutudan ankarnaın ilçelerini seçebilmek istiyorum. Bunu makrosuz çözmem lazım. Yardımlarınızı bekliyorum. Teşekkürler.
 
veri doğrulama ile yapabilirsin diye düşünüyorum.Oradan listeyi seçmelisin.
 
veri doğrulama tek başına yetersiz kalıyor galiba formülle çözülebiliyor bu işlem
 
Merhaba
Dosyanızı gönderirseniz bakarım
Kolay gelsin
 
Sayın hezarpare Süzme işlemi işinizi görmüyor mu?
 
giphy.gif


Tablonuz resimdeki gibi olursa bu kodları ilgili sayfanın kod kısmına yazabilirsiniz.
Kod:
[FONT="Trebuchet MS"][SIZE="2"]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("A2:A1000"), Target) Is Nothing And Target.Count = 1 Then
        Set Liste = Sheets("VeriTabanı")
        Set SD = CreateObject("Scripting.Dictionary")
        For Each Evn In Liste.Range("A2:A" & Liste.Range("A65536").End(3).Row)
            SD(Evn.Value) = ""
        Next Evn
        Target.Validation.Delete
        Target.Validation.Add xlValidateList, Formula1:=Join(SD.keys, ",")
        SendKeys "%{down}"
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A2:A1000"), Target) Is Nothing And Target.Count = 1 Then
      If Target <> "" Then
       Set Liste = Sheets("VeriTabanı")
       Set SD = CreateObject("Scripting.Dictionary")
       For Each Evn In Liste.Range("A2:A" & Liste.Range("A65536").End(3).Row)
         If Evn.Value = Target Then SD(Evn.Offset(, 1)) = ""
       Next Evn
       Target.Offset(, 1).Validation.Delete
       Target.Offset(, 1).Validation.Add xlValidateList, Formula1:=Join(SD.keys, ",")
       a = SD.keys
       Target.Offset(, 1) = a(0)
       If SD.Count > 1 Then Target.Offset(, 1).Select: SendKeys "%{down}"
          Else
       Target.Offset(, 1) = ""
     End If
    End If
End Sub[/SIZE][/FONT]
 
Üstadlar örnekleri inceledim ama bir türlü yapamadım. listede dolaylıyı kullanınca formülünüzde hata var diyor. devam edemiyorum. Aşağıdaki linkte dosyam mevcut. Dosyamda veriler sekmesinde resmini paylaştığım tablomdaki veriler üzeirnde çalışıyorum. Üretim Emri sayfamda I1 'e tablomdan DIVISNR sütunundaki veriler gelecek. I1'den seçim yaptığım zaman. Altındaki hücrelerden listeyi açtığımda yine tablomdan bu sefer NR verilerini getirecek. Makro istemedim ama gerekirse oda olur artık.




http://s3.dosya.tc/server6/ydm338/Uretim_emri___Teklif_olusturma_-_Kopya.rar.html
 
giphy.gif
Tablonuz resimdeki gibi olursa bu kodları ilgili sayfanın kod kısmına yazabilirsiniz.
Kod:
[FONT="Trebuchet MS"][SIZE="2"]Private Sub Worksheet_SelectionChange(ByVal Target As Range)[/INDENT]
[INDENT]    If Not Intersect(Range("A2:A1000"), Target) Is Nothing And Target.Count = 1 Then[/INDENT]
[INDENT]        Set Liste = Sheets("VeriTabanı")[/INDENT]
[INDENT]        Set SD = CreateObject("Scripting.Dictionary")[/INDENT]
[INDENT]        For Each Evn In Liste.Range("A2:A" & Liste.Range("A65536").End(3).Row)[/INDENT]
[INDENT]            SD(Evn.Value) = ""[/INDENT]
[INDENT]        Next Evn[/INDENT]
[INDENT]        Target.Validation.Delete[/INDENT]
[INDENT]        Target.Validation.Add xlValidateList, Formula1:=Join(SD.keys, ",")[/INDENT]
[INDENT]        SendKeys "%{down}"[/INDENT]
[INDENT]    End If[/INDENT]
[INDENT]End Sub[/INDENT]
[INDENT][/INDENT]
[INDENT]Private Sub Worksheet_Change(ByVal Target As Range)[/INDENT]
[INDENT]    If Not Intersect(Range("A2:A1000"), Target) Is Nothing And Target.Count = 1 Then[/INDENT]
[INDENT]      If Target <> "" Then[/INDENT]
[INDENT]       Set Liste = Sheets("VeriTabanı")[/INDENT]
[INDENT]       Set SD = CreateObject("Scripting.Dictionary")[/INDENT]
[INDENT]       For Each Evn In Liste.Range("A2:A" & Liste.Range("A65536").End(3).Row)[/INDENT]
[INDENT]         If Evn.Value = Target Then SD(Evn.Offset(, 1)) = ""[/INDENT]
[INDENT]       Next Evn[/INDENT]
[INDENT]       Target.Offset(, 1).Validation.Delete[/INDENT]
[INDENT]       Target.Offset(, 1).Validation.Add xlValidateList, Formula1:=Join(SD.keys, ",")[/INDENT]
[INDENT]       a = SD.keys[/INDENT]
[INDENT]       Target.Offset(, 1) = a(0)[/INDENT]
[INDENT]       If SD.Count > 1 Then Target.Offset(, 1).Select: SendKeys "%{down}"[/INDENT]
[INDENT]          Else[/INDENT]
[INDENT]       Target.Offset(, 1) = ""[/INDENT]
[INDENT]     End If[/INDENT]
[INDENT]    End If[/INDENT]
[INDENT]End Sub[/SIZE][/FONT]
hocam merhaba bunu açılır user form şeklinde nasıl yapabiliriz?
 
Geri
Üst