Birbiriyle bağlantılı açılır liste yapmak ve benzersiz veri almak

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Örnekteki belgede OKUL_DEĞERLENDİRME sayfasında
Verilerin OKULLAR sekmesinden alınarak;
E6 hücresinde açılır listede illerin benzersiz şekilde alfabetik listelenmesini,
E7 hücresinde açılır listede E6 da seçilen ilin ilçeleri alfabetik listelenmesini,
E8 hücresinde ise açılır listede E7 de seçilen ilçedeki okullar listelenmesini istiyorum.
Makro, formül yada yerleşik işlev farketmez. Yardımlarınızı rica ediyorum.

Skala
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,822
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba
Bunu sayfada bulunan Combobox ( Açılır Liste )'a mı istiyorsunuz. Yoksa Veri - Doğrulama - Liste seçeneğinde mi ?
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Farklı sitelere yüklerseniz, inceleyebilirim.

. . .
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,822
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba
Bu işinizi görür mü ?
Eki İnceleyin.
 

Ekli dosyalar

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,822
Excel Vers. ve Dili
Excel 2007 Türkçe
Teşekkür ederim, elinize sağlık.
Comboboxlarda ki verilerin alfabetik sıralanması mümkünmüdür.
Diğer husus benzer şekilde veriler veri doğrulama yöntemi ile nasıl yapılabilir.
Okullar sayfasındaki illeri ve ilçeleri siz sıralarsanız otomatik oralarda sıralanmış olur.
Doğrulama ile yapmak biraz zahmetli formülleri kullanmak gerek.
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Okullar sayfasındaki illeri ve ilçeleri siz sıralarsanız otomatik oralarda sıralanmış olur.
Doğrulama ile yapmak biraz zahmetli formülleri kullanmak gerek.
Teşekkür ederim arkadaşım. Çalışma sayfasına aşağıdaki koşulu da ekleyebilirmiyiz.

OKUL_ÜNİV_YURT_DEĞERLENDİRME sekmesinde E3 değeri HAYIR olursa c2:f22 aralığını temizlesin ve combobox1:combobox9'a kadar olanları
boşaltsın

https://mega.nz/#!2MMQyLqJ!egoFdc2phNwn4mY0MQft2VaVKz83p3iCyCCbBitm9bE
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,822
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba
İstediğiniz evet yazarsa hücreler ve comboboxlar dolu olsun hayır yazarsa boş olsun mu?
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Kod revize

Merhaba arkadaşlar.
Kodu revize ederek farklı bir çalışmada da kullanmak istiyorum.
Aşağıdaki kod bloğuna ekleme yapılarak ComboBox3'ün change olayı ile;
TextBox1'e E sütunundaki verileri,
TextBox2'e F sütunundaki verileri,
TextBox3'e G sütunundaki verileri,

ComboBox4'ün change olayı ile de;
Textbox4' E sütununun toplam sayısını aldırmak istiyorum.
Kod:
Private Sub Worksheet_Activate()
ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear
ComboBox4.Clear
Set k = Sheets("PDC")
For i = 2 To k.Cells(65536, "A").End(3).Row
If WorksheetFunction.CountIf(k.Range("A1:A" & i), k.Range("A" & i)) = 1 Then
ComboBox1.AddItem k.Cells(i, "A").Value
End If
Next

Set l = Sheets("PDC")
For i = 2 To l.Cells(65536, "C").End(3).Row
If WorksheetFunction.CountIf(l.Range("C1:C" & i), l.Range("C" & i)) = 1 Then
ComboBox2.AddItem l.Cells(i, "C").Value
'ComboBox4.AddItem l.Cells(i, "C").Value
End If
Next

Set m = Sheets("PDC")
For i = 2 To m.Cells(65536, "d").End(3).Row
If WorksheetFunction.CountIf(m.Range("d1:d" & i), m.Range("d" & i)) = 1 Then
ComboBox3.AddItem m.Cells(i, "d").Value
End If
Next

Set n = Sheets("PDC")
For i = 2 To l.Cells(65536, "C").End(3).Row
If WorksheetFunction.CountIf(n.Range("C1:C" & i), n.Range("C" & i)) = 1 Then
ComboBox4.AddItem n.Cells(i, "C").Value
End If
Next

End Sub

Private Sub ComboBox1_Change()
Dim STR As Long, SYF As Worksheet, LST As New Collection, HCR As Range
Set SYF = Sheets("PDC")
If ComboBox1.ListIndex < 0 Then Exit Sub
On Error Resume Next
For STR = 2 To SYF.Range("A" & Rows.Count).End(xlUp).Row
If SYF.Cells(STR, "A") = ComboBox1.Value Then
LST.Add SYF.Cells(STR, "C"), CStr(SYF.Cells(STR, "C"))
End If
Next
ComboBox2.Clear
ComboBox3.Clear
For Each HCR In LST
ComboBox2.AddItem HCR
Next
End Sub

Private Sub ComboBox2_Change()
Dim STR As Long, SYF As Worksheet, LST As New Collection, HCR As Range
Set SYF = Sheets("PDC")
If ComboBox1.ListIndex < 0 Then Exit Sub
On Error Resume Next
For STR = 2 To SYF.Range("A" & Rows.Count).End(xlUp).Row
If SYF.Cells(STR, "A") = ComboBox1.Value And SYF.Cells(STR, "C") = ComboBox2.Value Then
LST.Add SYF.Cells(STR, "d"), CStr(SYF.Cells(STR, "d"))
End If
Next
ComboBox3.Clear
For Each HCR In LST
ComboBox3.AddItem HCR
Next
End Sub
 
Üst