• DİKKAT

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

listboxt dan combobox a seçili verilerin aktarılması

  • Konbuyu başlatan Konbuyu başlatan mtl
  • Başlangıç tarihi Başlangıç tarihi

mtl

Katılım
25 Ekim 2005
Mesajlar
63
Merhabalar,

Bir userform üzerine listbox ım var ve bu listbox da bir isim listem var. Ben bu listbox da yaptığım seçimlerin (çoklu seçim) , başka bir userform üzerindeki combobox a aktarmak istiyorum. Bu işlemi nasıl gerçekleştirebilirim.
 
Küçük bir örnek hazırladım. Kendi dosyanıza uyarlamaya çalışın.
 
Sn. hamitcan teşekkür ederim sorunum çözüldü.

Ekte bir dosya gönderiyorum sürekli hata mesajı alıyorum. Gözümden kaçan bir yer mi var acaba?

Sağ ok butonuna bastığımda, seçili isimler sağdaki listbox a geçecek. Sol ok butonuna bastığımda ise seçili isimlerin silinmesini istiyorum ama silinmiyor ve hata mesajı alıyorum.
 
İlgili kodu aşağıdaki şekilde değiştirin. Yalnız şunu belirtmek isterim; kod şimdilik doğru çalışıyor gibi görünüyor ama bir satırda(If ListBox2.Selected(d) = True Then) hata verdi. Hatanın nerden kaynaklandığını bulamadım. O yüzden (On Error GoTo CIK) satırını ekledim. Sitede bilen arkadaşlar mutlaka çıkacaktır. İsterseniz farklı çözümler için konuyu açık bırakalım.

Private Sub CommandButton2_Click()
'sil
On Error GoTo CIK
Dim c, d As Integer
c = ListBox2.ListCount - 1
For d = 0 To c
If ListBox2.Selected(d) = True Then

ListBox2.RemoveItem d
d = d - 1
End If
Next d
CIK:
End Sub
 
ama bir satırda(If ListBox2.Selected(d) = True Then) hata verdi. Hatanın nerden kaynaklandığını bulamadım.

Hatanın sebebi; Silinen satır nedeniyle listboxun satır sayısıda azalacaktır. Buda döngüdeki değişkenin listboxun satır sayısından fazla bir değer almasına neden olacaktır. Çözüm döngüyü tersten çalıştırmaktır.

Kod:
Private Sub CommandButton2_Click()
Dim c, d As Integer
c = ListBox2.ListCount - 1
For d = c To 0 Step -1
If ListBox2.Selected(d) = True Then
ListBox2.RemoveItem d
End If
Next d
End Sub
 
Teşekkürler leventm, bu noktayı kaçırmışım.
 
Geri
Üst