EXCEL açılır liste

Kodla Büyü

bbozkurt

Aktif Üye
Mesajlar
211
Arkadaşlar data isimli sayfada listelerim var. yapmak istediğim ise örneğin açılır listeden 9/a sınıfını seçtiğimde sınıf öğrenci listesinin (okul no, ad soyad) alt tarafta sıralanması..
bir türlü halledemedim. yardımcı olursanız sevinirim.
 
hocam very doğrulama bölümünden açılır liste eklemelisiniz..daya sonar açılır listenin olduğu yere düşeyara formula uygulamanız gerekir...
 
hocam açılır listeyi yaptım zaten. sorum şu
açılır listeden 9/a sınıfını seçtiğimde data sayfasındaki 9/a sınıfı öğrencilerinin okul numaraları ve adlarının alt alta sıralanması
 
bu işini görür.
 

Ekli dosyalar

  • Vlookup-return-multiple-records.zip
    7.1 KB · Görüntüleme: 108
Sanırım istediğiniz böyle birşey. Açılır Combobox İle 2.sayfadaki listeden istenilen sınıfların listesi alınmaktadır.

'Combo VBA Kodu

Private Sub ComboBox1_Change()
son_satir = Worksheets("liste").Cells(65536, 1).End(xlUp).Row

'sayfaya yazılı alanlarda her hangi bir yazı varsa temizleme bölümü
For b = 10 To 110
Worksheets("sayfa").Cells(b, 1).Value = ""
Worksheets("sayfa").Cells(b, 2).Value = ""
Worksheets("sayfa").Cells(b, 3).Value = ""
Worksheets("sayfa").Cells(b, 4).Value = ""
Next b

'Database deki alanların sonuna kadar gitmesi için döngü
For a = 2 To son_satir
'Combo daki seçili sınıf ile database(liste) deki sınıf isimlerinin karşılaştırılması doğru ise sayfaya yazdırıldığı alan
If (Worksheets("liste").Cells(a, 2).Value = Worksheets("sayfa").ComboBox1.Text) Then
son_satir2 = Worksheets("sayfa").Cells(65536, 2).End(xlUp).Row
Worksheets("sayfa").Cells(son_satir2 + 1, 2).Value = Worksheets("liste").Cells(a, 2).Value
Worksheets("sayfa").Cells(son_satir2 + 1, 3).Value = Worksheets("liste").Cells(a, 3).Value
Worksheets("sayfa").Cells(son_satir2 + 1, 4).Value = Worksheets("liste").Cells(a, 4).Value
End If
Next a
End Sub
 

Ekli dosyalar

  • Combo.zip
    14.1 KB · Görüntüleme: 90
cepola' Alıntı:
Sanırım istediğiniz böyle birşey. Açılır Combobox İle 2.sayfadaki listeden istenilen sınıfların listesi alınmaktadır.

'Combo VBA Kodu

Private Sub ComboBox1_Change()
son_satir = Worksheets("liste").Cells(65536, 1).End(xlUp).Row

'sayfaya yazılı alanlarda her hangi bir yazı varsa temizleme bölümü
For b = 10 To 110
Worksheets("sayfa").Cells(b, 1).Value = ""
Worksheets("sayfa").Cells(b, 2).Value = ""
Worksheets("sayfa").Cells(b, 3).Value = ""
Worksheets("sayfa").Cells(b, 4).Value = ""
Next b

'Database deki alanların sonuna kadar gitmesi için döngü
For a = 2 To son_satir
'Combo daki seçili sınıf ile database(liste) deki sınıf isimlerinin karşılaştırılması doğru ise sayfaya yazdırıldığı alan
If (Worksheets("liste").Cells(a, 2).Value = Worksheets("sayfa").ComboBox1.Text) Then
son_satir2 = Worksheets("sayfa").Cells(65536, 2).End(xlUp).Row
Worksheets("sayfa").Cells(son_satir2 + 1, 2).Value = Worksheets("liste").Cells(a, 2).Value
Worksheets("sayfa").Cells(son_satir2 + 1, 3).Value = Worksheets("liste").Cells(a, 3).Value
Worksheets("sayfa").Cells(son_satir2 + 1, 4).Value = Worksheets("liste").Cells(a, 4).Value
End If
Next a
End Sub

HOCAM AYNEN BÖYLE İSTİYORDUM TEŞEKKÜR EDERİM. FAKAT ŞÖYLE BİR SORUN VAR. COMBOBOX İÇİNDEKİ SINIFLARI DEĞİŞTİREMİYORUM. DAHA DOĞRUSU DEĞİŞTİRDİM AMA EKLEME YAPAMIYORUM. 18 SINIF VAR BİZDE
 
Sayın hocam biraz aceleyle yapmıstım biraz daha duzenlisini atıyorum.
Ne ekledin dersen Combo ya eklenen sınıflarıda VBA da ekledim Kodlar Asagıda
Çoğaltmak istediğiniz kadar çoğaltın sınıfları
Aşağıdaki kodlar Workbook da


Private Sub Workbook_Open()
Worksheets("sayfa").ComboBox1.AddItem ("6-A")
Worksheets("sayfa").ComboBox1.AddItem ("6-B")
Worksheets("sayfa").ComboBox1.AddItem ("6-C")
Worksheets("sayfa").ComboBox1.AddItem ("6-D")
Worksheets("sayfa").ComboBox1.AddItem ("6-E")

End Sub
 

Ekli dosyalar

  • Combo.zip
    13.5 KB · Görüntüleme: 63
cepola' Alıntı:
Sayın hocam biraz aceleyle yapmıstım biraz daha duzenlisini atıyorum.
Ne ekledin dersen Combo ya eklenen sınıflarıda VBA da ekledim Kodlar Asagıda
Çoğaltmak istediğiniz kadar çoğaltın sınıfları
Aşağıdaki kodlar Workbook da


Private Sub Workbook_Open()
Worksheets("sayfa").ComboBox1.AddItem ("6-A")
Worksheets("sayfa").ComboBox1.AddItem ("6-B")
Worksheets("sayfa").ComboBox1.AddItem ("6-C")
Worksheets("sayfa").ComboBox1.AddItem ("6-D")
Worksheets("sayfa").ComboBox1.AddItem ("6-E")

End Sub

HOCAM TEŞEKKÜR EDERİM. ÇOK HORA GEÇTİ VALLA :+1:
 
Geri
Üst