İçindekiler
Büyük bir veri kümesi üzerinde çalıştığımızda, genellikle bu veri kümesinden herhangi bir seçici değer elde etmek zorlaşır. Dahası, aynı anda birden fazla bilgi parçasından fazlasını seçemezsiniz. Bu durumda, ListBox çok yararlı bir çözümdür Excel . Ama bunu yaratma süreci ListBox Bu nedenle, bu makalede, bir çoklu seçicinin nasıl oluşturulacağını öğreneceğiz ListBox bazı basit adımlarla excel'de.
Alıştırma Çalışma Kitabını İndirin
Pratik yapmak için örnek dosyayı alın.
Çoklu Seçim ListBox.xlsmExcel'de Çoklu Seçim Liste Kutusu Oluşturmak için Adım Adım Prosedürler
Süreci kolaylaştırmak için aşağıdaki bölümlere ayırdık 8 Bu yüzden, daha fazla gecikmeden, nasıl çoklu seçim oluşturabileceğimizi görmek için aşağıdaki adımlara atlayalım ListBox Excel'de.
Adım 1: Veri Kümesinden Excel Tablosu Oluşturun
Başlangıçta örnek bir veri kümesi hazırlamamız ve bunu bir tabloya dönüştürmemiz gerekir. Bunu yapmak için aşağıdaki adımları izleyin.
- İlk olarak, aşağıdaki bilgileri içeren bir veri kümesi oluşturun 10 Şehir İsmi ve onların Toplam Nüfus .. ABD Ta ki 1 Temmuz içinde Hücre aralığı B5:C14 .
- Şimdi, veri kümesinin herhangi bir hücresine tıklayın ve Tablo bir şey yok. Ekleme sekmesi.
- O zaman, şu mesajı göreceksiniz Tablo Oluştur penceresi, tablo oluşturmak için hücre aralığını otomatik olarak seçer.
- Bu pencerede, işaretli Tablomda başlıklar var kutusunu seçin ve TAMAM. .
- Sonuç olarak, veri kümesinin bir tabloya dönüştürüldüğünü göreceksiniz.
- Bununla birlikte, tabloyu şu adreste bulabilirsiniz Tablo Adı kutusunun altında Masa Tasarımı sekmesi
- Tablo adını tercihinize göre değiştirebilirsiniz.
Daha fazlasını okuyun: Excel'de Bağımlı Açılır Liste Nasıl Oluşturulur
Adım 2: Veri Kümesi Listesini Ad Yöneticisinden Adlandırın
Şimdi, tablodaki her bir hücre aralığı kategorisini adlandıracağız. Bunun için adımları uygulayın.
- İlk olarak, şuradan herhangi bir hücreyi seçin Sütun B tabloda.
- Ardından, şu adrese gidin Formüller sekmesini seçin ve İsim Tanımlama .
- Bunu takiben, aşağıdakileri göreceksiniz Yeni İsim diyalog kutusu.
- Bu diyalog kutusunda, seçilen sütun başlığına göre herhangi bir ad girin. İsim Kutu.
- Ardından, aşağıdaki Şunları ifade eder kutusunu aynı pencereye yerleştirin.
- Ardından, imleci başlığın üzerine getirin ve siyah bir ok gösterecektir.
- Daha sonra, sol tıklamaya basarak Hücre aralığı B5:B14 .
- Sonuç olarak, tablo adı ile birlikte adların listesini Şunları ifade eder kutusunu seçin ve TAMAM. .
- için aynı prosedürü izleyin. Hücre aralığı C5:C14 aynı zamanda.
- Son olarak, aşağıdaki isimleri göreceksiniz İsim Kutusu Çalışma kitabının sol üst köşesinde.
Adım 3: Veri Doğrulama ile Açılır Liste Oluşturun
Bu aşamada, veri doğrulama ile adlandırılmış aralıklardan bir açılır liste oluşturacağız. ListBox Bunu çalışma kitabındaki başka bir çalışma sayfasında oluşturacağız. Ancak bunu aynı çalışma sayfasında da yapabilirsiniz. İşlemi aşağıda görelim.
- Başlangıçta, tablodan uygulamak istediğiniz bazı hücreleri seçin Veri Doğrulama .
- Ardından, şu adrese gidin Veri sekmesini seçin ve Veri Doğrulama içinde Veri Araçları Bölüm.
- Sonra, içinde Ayarlar sekmesini seçin, ardından Liste içinde İzin ver Kutu.
- Ayrıca, mark kontrol etti Boşluğu yoksay ve Hücre içi açılır menü Kutular.
- Daha sonra, aşağıdaki Kaynak kutusunu işaretleyin ve F3 klavyenizde.
- Sonuç olarak, şunları göreceksiniz Yapıştır Adı isim listesini içeren diyalog kutusu.
- Burada, seçin Şehirİsimleri listesinden seçin ve TAMAM. .
- Ardından, kaynak kutusunda ilk listenin adının gösterildiğini göreceksiniz.
- Son olarak, tuşuna basın TAMAM. ve aynı işlemi ikinci isim listesi için uygulayın.
- Son olarak, göreceksiniz ki Veri Doğrulama seçilen hücrelerde etkinleştirilir.
Adım 4: Doğrulanan Çalışma Sayfasına VBA Kodu Ekleme
Şimdi sıra en önemli kısım olan VBA kodu oluşturmak için ListBox Bunun için izlenecek süreç aşağıdadır.
- İlk olarak, doğrulanan çalışma sayfasına sağ tıklayın ve Kodu Görüntüle bir şey yok. Bağlam Menüsü .
- Ardından, bu kodu sayfaya ekleyin.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Sonra strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub
- Ardından, şu adrese gidin Ekleme sekmesini seçin ve Modül .
- Bu noktada, çalışma kitabı adı Proje Nesnesi Pencere.
- Ardından, modülü şu şekilde yeniden adlandırın modSettings ve bu kodu ekleyin.
Option Explicit Global strDVList As String
Teşekkürler Bağlamlar Kodları sağladığınız için.
Adım 5: Listbox & Butonları ile UserForm Oluşturun
Bu aşamada, bir Kullanıcı Formu ile birlikte çalışma kitabı için ListBox ve bazı Komut Düğmeleri Bunu yapmak için aşağıdaki süreci takip edin.
- İlk olarak, çalışma kitabını Proje-VBAProject penceresinde Visual Basic Editör.
- Ardından, şu adrese gidin Ekleme sekmesini seçin ve Kullanıcı Formu .
- Sonuç olarak, şunları elde edeceksiniz Kullanıcı Formu Bunun gibi bir arayüz.
- Bununla birlikte, ayrıca Araç Kutusu Pencere.
- Buradan, sürükleyin ListBox için Kullanıcı Formu .
- O zaman ListBox Kutunun kenarlarını sürükleyerek boyutu ayarlayabilirsiniz.
- Sonra, sürükleyin CommanButton iki kez Kullanıcı Formu ayrıca işlem için 2 düğme oluşturmak için.
- Son olarak, nihai çıktı şu şekilde görünür.
Adım 6: Özellikler Ayarlarını Değiştirin
Bu aşamada, aşağıdaki bileşenlerin her birinin özelliklerinde bazı değişiklikler yapacağız ListBox .
- Başlangıçta, tuşuna basın F4 üzerinde Visual Basic editörünü açmak için Özellikler Penceresi .
- Ardından, şu öğeyi seçin Kullanıcı Formu ve değiştir İsim ve Başlık bu şekilde.
- Ardından, şunları seçin ListBox ve değiştir İsim tercihinize göre.
- Ek olarak, türünü değiştirin ListStyle , MultiSelect ve ÖzelEtki aşağıdaki resme göre.
- Şimdi, ilk komut düğmesini seçin ve özelliklerde aşağıdaki değişiklikleri yapın.
- Buna ek olarak, ikinci komut düğmesinin özelliklerini de düzenleyin.
Adım 7: VBA Kodunu UserForm'a Uygulayın
Bu aşamada, aşağıdakileri uygulayacağız VBA bileşenlerinin her birine kodlar Kullanıcı Formu Bakalım nasıl çalışacak.
- İlk olarak, şunları seçin Kullanıcı Formu ve şu adrese git Görünüm sekmesini seçmek için Kod .
- Ardından, bu kodu boş sayfaya ekleyin. Kullanıcı Formu açıldı.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- Bu işlemden sonra Kullanıcı Formu üzerine tıklayarak arayüz Nesne üzerinde Görünüm sekmesi.
- Şimdi, şu kodu eklemek için işlemi takip edin TAMAM. Düğme.
Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With ActiveCell ile If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub
- Bununla birlikte, şu kod için şu kodu yazın Kapat düğmesine aynı işlemi kullanarak basın.
Private Sub cmdClose_Click() Beni Boşalt End Sub
- Son olarak, tuşuna basın Ctrl + S Kaydetmek ve pencereyi kapatmak için.
Teşekkürler Bağlamlar Kodlara yardım ettiğin için.
Adım 8: ListBox'tan Çoklu Seçim
Son olarak, başarılı bir şekilde ListBox Kodun çalışıp çalışmadığını kontrol etmek için aşağıdaki adımları uygulamanız yeterlidir.
- İlk olarak, şunları seçin Hücre B5 uyguladığımız yer Veri Doğrulama .
- Bundan hemen sonra, bir ListBox komutu açılır Listeden Öğe Seçin .
- Bu pencerede, listeden birden fazla isim seçin.
- Ardından, tuşuna basın TAMAM. .
- Son olarak, başarıyla çoklu seçim yaptınız ListBox ile ayrılır ve her isim bir Virgül ( , ).
Hatırlanması Gerekenler
- Adlandırılmış aralıklar oluşturmayacaktır. Veri Doğrulama hücre referansı olarak veya sınırlayıcılarla girilirlerse kural.
- Bu Global değişken her ikisi için de uygulanır Kullanıcı Formu ve Çalışma Sayfası VBA kodu. Herhangi bir aktif hücre adı başlangıçta kodu geçer strDVList geçici bir aralığa yerleştirilir ve daha sonra RowSource için ListBox kullanıcı açtığında Kullanıcı Formu .
- Seçim kolaylığı için birden fazla aralığı tek bir adda birleştirebilirsiniz.
Sonuç
Bugünlük bu kadar. Umarım bu uzun ama basit adımlarla çoklu seçimli ListBox oluşturma excel'de konuyu sizin için biraz daha kolaylaştırdık. Görüşlerinizi yorum kutusunda bize bildirin. Takip edin ExcelWIKI bunun gibi daha fazla makale için.