• DİKKAT

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

hücreden combobox'a veri aktarımı ve çoklu combobox oluşturma

Katılım
1 Eylül 2008
Mesajlar
6
Excel Vers. ve Dili
excel2007 - ingilizce
İyi geceler, iyi çalışmalar. Örnek dosyada anlatmaya çalıştığım gibi, amacım bir metraj tablosu hazırlamak. Bunun için veri sayfasında hazırladığım kaynaktan (hücrelerden), 1. sütunu komple combobox içine alacak, comboboxtan seçeceğim ifadeye karşılık gelen değerleri de hemen yanına yazacak bir örnek dosya tasarımı yapmak. Yardımcı olursanız çok sevinirim.

İlgilendiğiniz için şimdiden teşekkürler.
 
Sayfada ComboBox kullanmaktansa, Veri Doğrulama Listesinin kullanılması daha verimlidir. Bu nedenle, varolan Combo'lar kaldırıldı ve dosyanıza bir adet Özel Ad tanımlaması ilave edilerek (cinsi) , Metraj sayfasındaki A3:A5 aralığına Veri Doğrulama-(Liste) uygulandı ...

Daha sonra, aşağıdaki kodlar, metraj adlı sheetin kod sayfasına yazıldı.

Örnek dosyayı da ineleyiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim rng As Range
    Dim hcr As Range
    
    For Each hcr In Range("A3:A5").Cells
        If Len(hcr) > 0 Then
            Set rng = Sheets("veri").Columns(1).Find(hcr, Lookat:=xlWhole)
            If Not rng Is Nothing Then
                rng.Offset(0, 1) = hcr.Offset(0, 1)
                rng.Offset(0, 2) = hcr.Offset(0, 2)
            End If
        End If
    Next
    
    Set rngBul = Nothing
       
End Sub
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    If Not Intersect(Target, Range("A3:A5")) Is Nothing Then
        Set rng = Sheets("veri").Columns(1).Find(Target, Lookat:=xlWhole)
        If Not rng Is Nothing Then
            Target.Offset(0, 1) = rng.Offset(0, 1)
            Target.Offset(0, 2) = rng.Offset(0, 2)
        End If
    End If
    
    Set rng = Nothing
End Sub
 
ferhat hocam yardımın için çok teşekkürler. bu verdiğin kodları kullanarak bu çalışmayı biraz daha geliştirmeye çalışacağım. tekrar teşekkürler.
 
arkadaşlar benimde konu ile yardıma ihtiyacım var.
örnek dosyayı incelermisiniz.

comboboxa verileri hücreden aldırmak istiyorum ve seçilen kritere karşılık gelen değeride formdaki textboxa almak istiyorum.

yardımlarınız için şimdiden teşekkürler...
 
Aşağıdaki kodları, Userform1'in kod modülüne kopyalayınız.

Kod:
Dim sh As Worksheet
[COLOR=darkgreen]'------------------------------[/COLOR]
Private Sub ComboBox2_Change()
Dim i As Integer
    TextBox1 = Empty
    With sh
        For i = 5 To .Cells(65536, 2).End(xlUp).Row
            If .Cells(i, 2) = ComboBox2 Then
                TextBox1 = .Cells(i, 2).Offset(0, 1)
                Exit For
            End If
        Next i
    End With
End Sub
[COLOR=darkgreen]'-------------------------------[/COLOR]
Private Sub ComboBox3_Change()
Dim i As Integer
    TextBox3 = Empty: TextBox4 = Empty
    With sh
        For i = 5 To .Cells(65536, 5).End(xlUp).Row
            If .Cells(i, 5) = ComboBox3 Then
                TextBox3 = .Cells(i, 5).Offset(0, 1)
                TextBox4 = .Cells(i, 5).Offset(0, 2)
                Exit For
            End If
        Next i
    End With
End Sub
[COLOR=darkgreen]'-------------------------------[/COLOR]
Private Sub UserForm_Initialize()
Dim i As Integer
Dim colIslm As New Collection
Dim ColFirm As New Collection
Dim colUrun As New Collection
    Set sh = Sheets("VERİ")
    With sh
        For i = 5 To .Cells(65536, 1).End(xlUp).Row
            colIslm.Add CStr(.Cells(i, 1)), CStr(.Cells(i, 1))
            If Err > 0 Then Err = 0 Else ComboBox1.AddItem .Cells(i, 1)
            ColFirm.Add CStr(.Cells(i, 2)), CStr(.Cells(i, 2))
            If Err > 0 Then Err = 0 Else ComboBox2.AddItem .Cells(i, 2)
            colUrun.Add CStr(.Cells(i, 5)), CStr(.Cells(i, 5))
            If Err > 0 Then Err = 0 Else ComboBox3.AddItem .Cells(i, 5)
        Next i
    End With
    
End Sub
[COLOR=darkgreen]'----------------------------[/COLOR]
Private Sub UserForm_Terminate()
    Set sh = Nothing
End Sub
 
teşekkürler ferhat bey,
gönderdiğiniz kodlar çalışıyor.
burada sormak istediğim bir konu daha var ama şu an üzerinde çalışıyorum. Çözemediğim taktirde o konu içinde yardımlarınızı isteyeceğim.
tekrar teşekkürler
 
Hocam benimde bu konu ile ilgili bir sorunum var:
sayfa1 deki c51:72 hücrelerini form3'deki combobox kutusuna aktarmak ve sectiğim itemin Sayfa1 C90 hücresinde görünmesini istiyorum.Aşağıdaki kodda bir eksiklik var ama yapamadım.
yardımcı olursanız memnun olurum.şimdiden teşekkürler

ComboBox1.AddItem = Sheets("2").[C51]
.
.
ComboBox1.AddItem = Sheets("2").[C72]
 
Geri
Üst