• DİKKAT

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

Combobox2 değerleri combobox1 e göre belirlensin

Katılım
31 Aralık 2007
Mesajlar
227
Excel Vers. ve Dili
Office 2007 Türkçe
Combobox 1 de Kitap Gurubu bilgileri var, Combobox 2 de ise sadece o Kitap gurubuna ait kitap türlerinin görünmesini sağlayabilirmiyim.

örneğin combobox1 de Çocuk Kitapları gurubu seçildiğinde,
combobox2 de sadece bu guruba ait olan
12 yaş üzeri
7-12 yaş
100 temel eser den oluşan sadece 3 tür bilgisi görünsün istiyorum

parametreler sayfasında bilgiler mevcut.

(Sn. Korhan Ayhan 'ın Personel Kayıt çalışmasından faydalanarak hazırladım. İleride bir takım bilgiler ve öğretmenler için en önemlisi e-okula kitap bilgilerini kayıt yapma özellikleri de eklemek istiyorum, bakalım nasıl olacak.)
 
Son düzenleme:
Forumda ve başka forumlarda da araştırdım bazı kodlar buldum, denedim ama olmadı.
 
Son düzenleme:
Forumda combobox ile çok konu açtım, baktım ama olmadı, ya da ben bulamıyorum. Kimi konularda siteye saldırı sonrası görüntülenemiyor, Aradığım şey ile ilgili örnek çok mesela il ve ilçe uygulamaları. Ama bir türlü ulaşamadım.
 
Kod:
private sub userform_initialize()
ComboBox1.RowSource = "PARAMETRELER!a2:q" & Range("a65000").End(xlUp).Row
End Sub



Private Sub ComboBox1_Change()
Dim a As Integer, i As Long
With Sheets("PARAMETRELER")
a = .Range("a1:a" & .Range("a65536").End(3).Row).Find(ComboBox1.Value, , , 1).Row
ComboBox2.Clear
For i = 2 To .Range("ıv" & a).End(1).Column
ComboBox2.AddItem .Cells(a, i).Value
Next i
End With
a = Empty: i = Empty
End Sub

ile combobox2 1 e bağlı ancak bilgileri kaydet deyince
a = .Range("a1:a" & .Range("a65536").End(3).Row).Find(ComboBox1.Value, , , 1).Row
satırı hatalı diyor birde bilgileri veri sayfasına değil parametreler sayfasına yazıyor
üzerinde oynamalar yapıp denedim ancak hata verdi bende ilk bulduğum hali ile koydum.
Kod alıntıdır dememe gerek yok herhalde.
 
Kod:
Private sub İnitialize()
Dim satir As Byte
    For satir = 2 To 18
        ComboBox1.AddItem Sheets("PARAMETRELER").Cells(satir, 1)
    Next satir
        ComboBox1.ListIndex = 0
End sub


Diğer kod da
Kod:
Private Sub ComboBox1_Change()
    'combobox1'in içeriği değişince çalışacak prosedür
   
    'satir isimli değişkeni tanımla
    'combobox1'in ilk satırı 0, ancak parametrelerde ilk satır 2
    'combobox1'de hangi satır seçili ise 2 fazlasını değişkene aktar
    Dim satir As Byte
    satir = ComboBox1.ListIndex + 2
   
    'sutun isimli değişkeni tanımla
    'ilk sütuna eşitle
    Dim sutun As Byte
    sutun = 2
       
    'combobox2 seçilen içeriğe göre değişeceği için ilk temizlemek lazım
    ComboBox2.Clear
       
    'Döngü ile ilgili satırdaki boş hücreye gelene kadar tüm içeriği combobox2'ye doldur
    Do Until Sheets("PARAMETRELER").Cells(satir, sutun) = ""
        ComboBox2.AddItem Sheets("PARAMETRELER").Cells(satir, sutun)
        sutun = sutun + 1
    Loop
       
    'combobox2'de ilk elemanı seç
    ComboBox2.ListIndex = 0
End Sub


Yazılınca combobox2 combobox1 e göre çalıştı.
İlginize teşekkürler.
 
Geri
Üst