Skip to main content

Excel'de iki liste kutusu arasında öğeleri hızlıca nasıl taşırsınız?

Author: Sun Last Modified: 2025-06-10

Aşağıdaki ekran görüntüsünde gösterildiği gibi, bir liste kutusundaki öğeleri başka bir liste kutusuna taşımaya çalıştınız mı? Burada bu işlemi Excel'de nasıl yapabileceğinizden bahsedeceğim.

a screenshot showing the listboxes before moving items a screenshot of an arrow a screenshot showing the listboxes after moving items

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 fonksiyon yok, ancak size yardımcı olabilecek bir VBA kodum var.

1. İlk olarak, Admin_Lists adlı yeni bir çalışma sayfasında liste kutularında gösterilecek veri listesi oluşturmanız gerekir.

a screenshot of the source data

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

a screenshot of naming the source data in the Name box

3. Sonra iki liste kutusunu içerecek çalışma sayfasında Geliştirici > Ekle > Liste Kutusu (Active X Kontrolü)’ne tıklayın ve iki liste kutusu çizin. Ekran görüntüsüne bakın:

a screenshot of selecting the List Box control under the Developer tab a screenshot of the right arrow a screenshot showing two created list boxes

Geliştirici sekmesi şeritte gizliyse, Excel 2007/2010/2013 Şeridinde Geliştirici sekmesini nasıl gösterirsiniz/görüntülersiniz? Bu makale size bunu nasıl yapacağınızı anlatacak.

4. Ardından Geliştirici > Ekle > Komut Düğmesi (Active X Kontrolü)’ne tıklayın ve iki liste kutusu arasına dört düğme çizin. Ekran görüntüsüne bakın:

a screenshot of selecting command button control a screenshot of a right arrow 1 a screenshot showing the created command buttons

Şimdi dört komut düğmesini yeni adlarla yeniden adlandırın.

5. İlk komut düğmesini seçin, Özellikler’e tıklayın ve Özellikler panelinde ona BTN_moveAllRight adını verin ve Başlık yanındaki metin kutusuna >> yazın. Ekran görüntüsüne bakın:

a screenshot showing how to changing the properties of the command button

6. Adım 5’i tekrar ederek son üç komut düğmesini aşağıdaki adlarla yeniden adlandırın ve ayrıca başlıklara farklı okları yazın. Ekran görüntüsüne bakın:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

a screenshot of the second command button after changing the properties a screenshot of the third command button after changing the properties a screenshot of the fourth command button after changing the properties

7. Liste kutuları ve komut düğmelerini içeren çalışma sayfasının adına sağ tıklayın ve bağlam menüsünden Kodu Görüntüle’yi seçin. Ekran görüntüsüne bakın:

a screenshot of opening the VBA code editor

8. Aşağıdaki makro kodunu Modül betiğine kopyalayıp yapıştırın, ardından kodu kaydedin ve 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

a screenshot showing how to use the VBA code

9. Ardından başka bir çalışma sayfasına gidin ve liste kutularını içeren çalışma sayfasına geri dönün, şimdi liste verilerinin ilk liste kutusunda listelendiğini görebilirsiniz. Ve komut düğmelerine tıklayarak öğeleri iki liste kutusu arasında taşıyabilirsiniz.

a screenshot showing the source data in one list box after running the VBA code

Seçimi taşı

a screenshot of moving items from one list box to another one by one a screenshot of the arrow a screenshot showing two items have been moved to the right list box

Tümünü taşı

a screenshot of marking which command button can be used to move all items from one list to another at the same time a screenshot of arrow 2 a screenshot showing all items are moved from one list box to another at the same time

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştır ...
Öne Çıkan Özellikler: Izgara Odaklama   |  Tasarım Görünümü   |   Gelişmiş formül çubuğu    Çalışma Kitabı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!