Excel'de iki liste kutusu arasında öğeleri hızlıca nasıl taşıyabilirim?
Aşağıdaki ekran görüntüsünde gösterildiği gibi, bir liste kutusundan diğerine öğeleri kendi ihtiyaçlarınıza göre taşımayı denediniz mi? İşte Excel’de bunu nasıl yapabileceğinizi anlatacağım.
![]() | ![]() | ![]() |
Liste kutuları arasında öğeleri taşıma
Liste kutuları arasında öğeleri taşıma
Bu işi tamamlamanıza yardımcı olacak yerleşik bir işlev bulunmamaktadır; ancak size yardımcı olabilecek bir VBA kodum var.
1. İlk olarak, liste kutularında öğe olarak gösterilecek bir veri listesi oluşturmanız gerekir; bu listeyi yeni bir sayfada tanımlamalısınız. Sayfanın adı Admin_Lists olmalıdır.

2. Ardından bu verileri seçin ve bir ad vermek için Ad kutusuna gidin. ItemList adını verin. Ekran görüntüsüne bakın:

3. Ardından iki liste kutusunu içerecek olan bir sayfada, Geliştirici > Ekle > Liste Kutusu (ActiveX Denetimi) seçeneğine tıklayarak iki liste kutusu çizin. Ekran görüntüsüne bakın:
![]() | ![]() | ![]() |
Eğer Geliştirici sekmesi Şerit'te gizliyse, Excel'de geliştirici sekmesini nasıl gösteririm/görüntülerim 2007/2010/2013 Şerit? bu makale size nasıl yapılacağını adım adım anlatacaktır.
4. Ardından, Geliştirici > Ekle > Komut Düğmesi (ActiveX Denetimi) seçeneğine tıklayarak iki liste kutusu arasına dört düğme ekleyin. Ekran görüntüsüne bakın:
![]() | ![]() | ![]() |
Şimdi dört komut düğmesini “Yeni Ad” ile yeniden adlandırın.
5. İlk komut düğmesini seçin, Özellikler seçeneğine tıklayın ve Özellikler bölmesinde adına BTN_moveAllRight yazın; ayrıca >> metnini Başlık yanındaki metin kutusuna girin. Ekran görüntüsüne bakın:

6. Son üç komut düğmesini aşağıda belirtilen isimlerle yeniden adlandırmak ve başlıklarına farklı ok işaretleri eklemek için 5. adımı tekrarlayın. Ekran görüntüsüne bakın:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() | ![]() | ![]() |
7. Liste kutularını ve komut düğmelerini içeren sayfa adına sağ tıklayın ve bağlam menüsünden Kodu Görüntüle seçeneğini seçin. Ekran görüntüsüne bakın:

8. Aşağıdaki makro kodunu Modül betiğine kopyalayıp yapıştırın, ardından kodu kaydedip Microsoft Visual Basic for Applications penceresini kapatın. Ekran görüntüsüne bakın.
VBA: İki liste kutusu arasında öğeleri taşıma
Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
Dim xCell As Range
Dim xRg As Range
Set xRg = Sheets("Admin_Lists").Range("ItemList")
Me.ListBox1.Clear
Me.ListBox2.Clear
With Me.ListBox1
.LinkedCell = ""
.ListFillRange = ""
For Each xCell In xRg
If xCell <> "" Then
.AddItem xCell.Value
End If
Next xCell
End With
Me.ListBox1.MultiSelect = fmMultiSelectMulti
Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub BTN_MoveSelectedLeft_Click()
Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub
Private Sub BTN_MoveSelectedRight_Click()
Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub
Private Sub BTN_moveAllLeft_Click()
Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub
Private Sub BTN_moveAllRight_Click()
Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub
Sub moveAll(xListBox1 As Object, xListBox2 As Object)
Dim I As Long
For I = 0 To xListBox1.ListCount - 1
xListBox2.AddItem xListBox1.List(I)
Next I
xListBox1.Clear
End Sub
Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
Dim I As Long
For I = 0 To xListBox1.ListCount - 1
If I = xListBox1.ListCount Then Exit Sub
If xListBox1.Selected(I) = True Then
xListBox2.AddItem xListBox1.List(I)
xListBox1.RemoveItem I
I = I - 1
End If
Next
End Sub 
9. Ardından başka bir sayfaya gidip liste kutularının bulunduğu sayfaya geri döndüğünüzde, ilk liste kutusunda liste verilerinin görüntülendiğini göreceksiniz. Artık öğeleri iki liste kutusu arasında taşımak için komut düğmelerine tıklayabilirsiniz.

Seçimi taşı
![]() | ![]() | ![]() |
Tümünü taşı
![]() | ![]() | ![]() |
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar













