userformdaki listboxta ekleme çıkarma

Katılım
4 Haziran 2007
Mesajlar
34
Excel Vers. ve Dili
2003
Merhaba, ekteki dosyada bir userformum var, iki listemden birbirine ekleme çıkartma yapabilmek istiyorum. yaptıklarım listbox'ı güncellemediği için sorunlarım var.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub CommandButton4_Click()
    If ListBox1.ListIndex = -1 Then
        MsgBox "Önce Listeden Seçim Yapınız"
        Exit Sub
    End If
    ListBox2.AddItem ListBox1
    ListBox1.RemoveItem (ListBox1.ListIndex)
End Sub
Private Sub CommandButton5_Click()
    If ListBox2.ListIndex = -1 Then
        MsgBox "Önce Listeden Seçim Yapınız"
        Exit Sub
    End If
    ListBox1.AddItem ListBox2
    ListBox2.RemoveItem (ListBox2.ListIndex)
End Sub
Private Sub UserForm_Activate()
    With Sheets("Sheet1").Cells(2, 1)
        ListBox1.List = Range(.Offset(), .End(xlDown)).Value
        ListBox2.List = Range(.Offset(, 1), .Offset(, 1).End(xlDown)).Value
    End With
End Sub
 
Katılım
4 Haziran 2007
Mesajlar
34
Excel Vers. ve Dili
2003
teşekkürler sayın veyselemre. peki sheet'teki listeyi de güncelleyebiliyor muyuz bu sırada?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sn.Veyselemre konuya müdahale etmiş ama, bende bir kod eklemiş olayım. Userformun kod sayfasına ekleyiniz

Kod:
Private Sub CommandButton4_Click()
If ListBox1.ListCount = 0 Then: MsgBox "Listede eleman yok", vbCritical, "UYARI": ListBox2.Selected(0) = True: Exit Sub
Set sh1 = Sheets("Sheet1")
son1 = sh1.Cells(65536, 1).End(xlUp).Row
son2 = sh1.Cells(65536, 2).End(xlUp).Row
sh1.Range("A2:A" & son1).ClearContents
sh1.Range("A1") = "Liste"
sh1.Range("B1") = "Çıkartılacaklar"
ListBox2.AddItem ListBox1.List(ListBox1.ListIndex)
sh1.Cells(son2 + 1, 2) = ListBox1.List(ListBox1.ListIndex)
ListBox1.RemoveItem ListBox1.ListIndex
For i = 1 To ListBox1.ListCount
  sh1.Cells(i + 1, 1) = ListBox1.List(i - 1)
Next i
ListBox2.ListIndex = ListBox2.ListCount - 1
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
Private Sub CommandButton5_Click()
If ListBox2.ListCount = 0 Then: MsgBox "Listede eleman yok", vbCritical, "UYARI": ListBox1.Selected(0) = True: Exit Sub
Set sh1 = Sheets("Sheet1")
son1 = sh1.Cells(65536, 1).End(xlUp).Row
son2 = sh1.Cells(65536, 2).End(xlUp).Row
sh1.Range("B2:B" & son2).ClearContents
sh1.Range("B1") = "Çıkartılacaklar"
ListBox1.AddItem ListBox2.List(ListBox2.ListIndex)
sh1.Cells(son1 + 1, 1) = ListBox2.List(ListBox2.ListIndex)
ListBox2.RemoveItem ListBox2.ListIndex
For i = 1 To ListBox2.ListCount
  sh1.Cells(i + 1, 2) = ListBox2.List(i - 1)
Next i
ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub
Private Sub UserForm_Initialize()
Set sh1 = Sheets("Sheet1")
son1 = sh1.Cells(65536, 1).End(xlUp).Row
If son1 <= 1 Then
MsgBox "Listeye eleman girin", vbCritical, "UYARI"
CommandButton4.Enabled = False
CommandButton5.Enabled = False
Else
son2 = sh1.Cells(65536, 2).End(xlUp).Row
sh1.Range("B2:B" & son2).ClearContents
For i = 2 To son1
ListBox1.AddItem Cells(i, 1)
Next i
ListBox1.ListIndex = 0
End If
End Sub
 
Katılım
4 Haziran 2007
Mesajlar
34
Excel Vers. ve Dili
2003
herkese &#231;ok te&#351;ekk&#252;r ederim, yaz&#305;lan t&#252;m kodlar ve linkler &#231;ok i&#351;ime yar&#305;yor. :)
 
Üst