• DİKKAT

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

combobox da düşey ara ile aynı bilgi gelen verileri yan sütündan çekme

Katılım
14 Ocak 2011
Mesajlar
24
Excel Vers. ve Dili
2003
selam arkadaşlar bi problemim var yardımlarınızı bekliyorum lütfen.

ekteki dosyada combobox 1 de seçilecek veriye göre sayfa1 deki veri aralığında ürünün ismine gelen verileri sırasıyla diğer combobox larda nasıl görebiliriz bunun bi yolu mutlaka var bi süredir üzeride çalışıyorum birçok düşeyara şekline yapabileceğimi düşünerek araştırma yaptım ama malesef halledemedim ve yardımlarınızı almak için şimdi bu mesajı gönderiyorum. yardımlarınız için şimdiden teşekkürler...
 
Son düzenleme:
selam ..
fiyat sayfa3 de mevcut

Userform'un kod bölümüne
Kod:
Option Explicit
'Mail       :   m.batu.1967@gmail.com
'Msn        :   m.batu.1967@hotmail.com.tr
'Skype      :   m.batu.1967
'Coder By   :   asi_kral_1967
Private Sub ComboBox1_Change()
Dim asi As Long, kral As New Collection, a As Range, _
syf As Worksheet
Set syf = Sheets("Sayfa1")
On Error Resume Next
For asi = 3 To syf.Cells(Rows.Count, "B").End(xlUp).Row
If syf.Cells(asi, "B") = ComboBox1 Then
kral.Add syf.Cells(asi, "C"), CStr(syf.Cells(asi, "C"))
End If: Next
For asi = 2 To 11
Controls("ComboBox" & asi).Clear
Next
For Each a In kral
For asi = 2 To 11
Controls("ComboBox" & asi).AddItem a
Next: Next
End Sub
Private Sub ComboBox10_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox9 = WorksheetFunction.VLookup(ComboBox10, asi.Range("C:D"), 2, 0)
TextBox18 = WorksheetFunction.VLookup(ComboBox10, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox2_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox1 = WorksheetFunction.VLookup(ComboBox2, asi.Range("C:D"), 2, 0)
TextBox17 = WorksheetFunction.VLookup(ComboBox2, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox3_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox2 = WorksheetFunction.VLookup(ComboBox3, asi.Range("C:D"), 2, 0)
TextBox16 = WorksheetFunction.VLookup(ComboBox3, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox4_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox3 = WorksheetFunction.VLookup(ComboBox4, asi.Range("C:D"), 2, 0)
TextBox15 = WorksheetFunction.VLookup(ComboBox4, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox5_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox4 = WorksheetFunction.VLookup(ComboBox5, asi.Range("C:D"), 2, 0)
TextBox14 = WorksheetFunction.VLookup(ComboBox5, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox6_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox5 = WorksheetFunction.VLookup(ComboBox6, asi.Range("C:D"), 2, 0)
TextBox13 = WorksheetFunction.VLookup(ComboBox6, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox7_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox6 = WorksheetFunction.VLookup(ComboBox7, asi.Range("C:D"), 2, 0)
TextBox12 = WorksheetFunction.VLookup(ComboBox7, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox8_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox7 = WorksheetFunction.VLookup(ComboBox8, asi.Range("C:D"), 2, 0)
TextBox11 = WorksheetFunction.VLookup(ComboBox8, kral.Range("B:C"), 2, 0)
End Sub
Private Sub ComboBox9_Change()
Dim asi As Worksheet, kral As Worksheet
Set asi = Sheets("Sayfa1"): Set kral = Sheets("Sayfa3")
TextBox8 = WorksheetFunction.VLookup(ComboBox9, asi.Range("C:D"), 2, 0)
TextBox10 = WorksheetFunction.VLookup(ComboBox9, kral.Range("B:C"), 2, 0)
End Sub
Private Sub UserForm_Initialize()
Dim asi As Long, kral As Worksheet
Set kral = Sheets("Sayfa1")
For asi = 3 To kral.Cells(Rows.Count, "B").End(xlUp).Row
If WorksheetFunction.CountIf(kral.Range("B3:B" & asi), kral.Cells(asi, "B")) = 1 Then
ComboBox1.AddItem kral.Cells(asi, "B")
End If: Next
End Sub
Bu kodu yazın ve deneyin.
Dosyanız Ekte.
Not : ComboBox11'i fazladan eklemişsiniz.
 

Ekli dosyalar

sayın m.batu çalışmanız için çok teşekkür ederim. ancak sanırım ben biraz yanlış mantık kurmuşum.
gönderdiğiniz dosyada comobbox da seçilince diğer combobox yerine listbox kullanmak belki daha doğru olacak.. listbox la excelde formüllerle yaptığım çalışmada seçilen ürün sonucunda reçetesi diğer listboxlarda sıralı bi şekilde geliyor. ve o gelen ürünleri de yine list box dan seçerek başka bi malzemeyle değiştirebiliyorsunuz. aynı şekilde burada da bunu yapmak istedim. anlşaşılan form mantığı olarak biraz yanlış oluyor..
combobox da seçilenin reçete içeriğini listbox da görüp ve bu malzemeleride tekrar listbox da seçip değiştirme imkanımız olurmu. yine bir örnek dosya ile bunu anlatmaya çalışacağım.
tekrardan çok çok teşekkürler..
 
Son düzenleme:
Geri
Üst