KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

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

YazarSun Değiştirme Tarihi

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.

öğeleri taşımadan önceki liste kutularını gösteren bir ekran görüntüsübir okun ekran görüntüsüöğeleri taşıdıktan sonraki liste kutularını gösteren bir ekran görüntüsü

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.

kaynak verininin ekran görüntüsü

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:

Ad kutusunda kaynak verisine ad verilmesini gösteren bir ekran görüntüsü

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:

Geliştirici sekmesi altında Liste Kutusu denetiminin seçildiğini gösteren bir ekran görüntüsüsağ okun ekran görüntüsüiki oluşturulmuş liste kutusunu gösteren bir ekran görüntüsü

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:

komut düğmesi denetiminin seçildiğini gösteren bir ekran görüntüsübir sağ okun ekran görüntüsü 1oluşturulan komut düğmelerini gösteren bir ekran görüntüsü

Ş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:

komut düğmesinin özelliklerinin nasıl değiştirileceğini gösteren bir ekran görüntüsü

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

özellikleri değiştirildikten sonra ikinci komut düğmesinin ekran görüntüsüözellikleri değiştirildikten sonra üçüncü komut düğmesinin ekran görüntüsüözellikleri değiştirildikten sonra dördüncü komut düğmesinin ekran görüntüsü

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:

VBA kod düzenleyicisinin açılmasını gösteren bir ekran görüntüsü

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

VBA kodunun nasıl kullanılacağını gösteren bir ekran görüntüsü

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.

VBA kodu çalıştırıldıktan sonra bir liste kutusundaki kaynak veriyi gösteren bir ekran görüntüsü

Seçimi taşı

öğelerin birer birer bir liste kutusundan diğerine taşındığını gösteren bir ekran görüntüsüokun ekran görüntüsüiki öğenin sağdaki liste kutusuna taşındığını gösteren bir ekran görüntüsü

Tümünü taşı

tüm öğeleri aynı anda bir listeden diğerine taşımak için hangi komut düğmesinin kullanılabileceğini gösteren bir ekran görüntüsüok 2'nin ekran görüntüsütüm öğelerin aynı anda bir liste kutusundan diğerine taşındığını gösteren bir ekran görüntüsü

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca 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 Aç/Kapat|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ı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

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.

ExcelWordOutlookTabsPowerPoint
  • 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