• DİKKAT

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

Combobox A1 seçildiğinde B1'deki veriyi de alma

Katılım
14 Ağustos 2009
Mesajlar
10
Excel Vers. ve Dili
XP türkçe
Arkadaşlar vba kod işini yeni yeni yapıyorum. Excelde INDIS ile bir şey yaptım ancak bunu bir türlü vba Combobox'a atamıyorum. Yapmış olduğum şey şu :

=İNDİS(Sayfa1!A2:A1000;Sayfa1!T1)
=İNDİS(Sayfa1!B2:B1000;Sayfa1!T1)

Şimdi burada verdiğim bağlantı ile A sütunundan herhangi bir hücre seçimi yapınca yapmış olduğum seçime göre B'deki hücreyi istediğim yere alabiliyorum. Yani bu yöntemle A2 den A1000'e kadar herhangi bir hücreyi seçip B2den B1000'e kadar herhangi bir veriyi alıyor ve bunu istediğim hücrede tutuyorum.

Ancak bunu combobox ile bir türlü yapamadım. Combobox'a A sütununu alıyorum, oradan seçimimi yapıp excelde bir hücreye atıyorum. Ama Bu seçim B sütununu hiç etkilemiyor. Bir çözüm var mı arkadaşlar?
 
arkadaşlar halen daha çözüm bulamadım. Bunun bir yolu yok mu acaba?
 
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub UserForm_Initialize()
Me.Caption = "evrengizlen@hotmail.com"
ComboBox1.ColumnCount = 2
ComboBox1.RowSource = "alan"
ComboBox1.ListIndex = 0
End Sub
 

Ekli dosyalar

Orion1 Teşekkür ederim. Dosyayı inceledim. İki kolonu aynı anda görmek güzel. Kodun devamı yok gibi geldi bana. Yani şöyle söyliyeyim; örneğin Comboboxta ilk sıradaki veriyi seçtiğimde ($A$1 $B$1) $A$1'i C1'e, $B$1'i D1'e alsın. Bu şekilde birkaç combobox kullanıcam. Oluşturduğum formül seçime göre hesaplama yapacak. Örneğin A sütununda memurun derece ve kademesi olacak. B sütununda ise memurun o dereceye göre ek göstergesi olacak. Bunları ayrı ayrı, birini C1'e diğerini D1'e alınca, formüle göre hesap çıkacak. Bu konuda yardımcı olabilir misiniz? Şimdiden teşekkürler..
 
Şöyle bir kod yazınca ;
Sayfa1.Range("C1", ["D1"]) = ComboBox1
hem C1'e hem D1'e A1 hücresindeki veriyi yazıyor. D1 hücresine B1'deki veriyi alması lazım. Bunu çözdüm mü tamamdır (O kadar başındayım işin valla kusuruma bakmayın:))
 
Arkadaşlar çözümü buldum. (Sanki altın bulmuşum gibi sevindim) Genel itibariyle biliniyordur ama bilmeyenler Combobox'un Listindex komutunu kullansın. Şöyle bir örnek;
Private Sub ComboBox1_Change()
Sayfa1.Range("C1") = ComboBox1
k = ComboBox1.ListIndex + 1
Sayfa1.Range("D1") = Cells(k, 2)

End Sub

Private Sub UserForm_Activate()
ComboBox1.RowSource = "Sayfa1!A1:A5"
End Sub
 
Geri
Üst