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

Excel'de ActiveX liste kutularındaki seçimleri nasıl kaydedebilir veya koruyabilirsiniz?

YazarSiluvia Değiştirme Tarihi

Bazı liste kutuları oluşturduğunuzu ve bu kutularda seçimler yaptığınızı varsayalım. Ancak çalışma kitabını kapatıp tekrar açtığınızda bu liste kutularının tüm seçimleri kayboluyor. Çalışma kitabını kapatıp yeniden açtığınızda liste kutularında yapılan seçimleri korumak ister misiniz? Bu makaledeki yöntem size yardımcı olabilir.

Excel'de ActiveX liste kutularının seçimlerini VBA koduyla kaydetme veya koruma


Excel'de ActiveX liste kutularının seçimlerini VBA koduyla kaydetme veya koruma

Aşağıdaki VBA kodu, Excel'de ActiveX liste kutularınızın seçimlerini kaydetmenize veya korumanıza yardımcı olur. Lütfen aşağıdaki adımları uygulayın.

1. Seçimlerini korumak istediğiniz ActiveX liste kutularını içeren çalışma kitabında, Alt+F11 tuşlarına aynı anda basarak Microsoft Visual Basic for Applications penceresini açın.

2. Microsoft Visual Basic for Applications penceresinde, sol bölmede yer alan ThisWorkbook öğesine çift tıklayarak ThisWorkbook Kodu penceresini açın. Ardından aşağıdaki VBA kodunu kod penceresine kopyalayın.

VBA kodu: Excel'de ActiveX liste kutularının seçimlerini kaydetme

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim I As Long
    Dim J As Long
    Dim K As Long
    Dim KK As Long
    Dim xSheet As Worksheet
    Dim xListBox As Object
    On Error GoTo Label
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    K = 0
    KK = 0
    If Not Sheets("ListBox Data") Is Nothing Then
        Sheets("ListBox Data").Delete
    End If
Label:
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "ListBox Data"
    Set xSheet = Sheets("ListBox Data")
    For I = 1 To Sheets.Count
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                For J = 0 To .ListCount - 1
                    If .Selected(J) Then
                        xSheet.Range("A1").Offset(K, KK).Value = "True"
                    Else
                        xSheet.Range("A1").Offset(K, KK).Value = "False"
                    End If
                    K = K + 1
                Next
                End With
                K = 0
                KK = KK + 1
            End If
        Next
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
    Dim I As Long
    Dim J As Long
    Dim KK As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xListBox As Object
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    KK = 0
    For I = 1 To Sheets.Count - 1
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                    Set xRg = Intersect(Sheets("ListBox Data").Range("A1").Offset(0, KK).EntireColumn, Sheets("ListBox Data").UsedRange)
                    For J = 1 To .ListCount
                        Set xCell = xRg(J)
                        If xCell.Value = "True" Then
                            .Selected(J - 1) = True
                        End If
                    Next
                    KK = KK + 1
                End With
            End If
        Next
    Next
    Sheets("ListBox Data").Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

VBA kodunu nasıl kullanacağınızı gösteren bir ekran görüntüsü

3. Microsoft Visual Basic for Applications penceresini kapatmak için Alt + Q tuşlarına basın.

4. Artık çalışma kitabını bir Excel Makro Etkin Kitap olarak kaydetmeniz gerekiyor. Lütfen Dosya > Farklı Kaydet > Göz At seçeneğine tıklayın.

Farklı Kaydet iletişim kutusunun açıldığını gösteren bir ekran görüntüsü

5. Farklı Kaydet iletişim kutusunda, çalışma kitabını kaydetmek için bir klasör seçin, gerekirse yeniden adlandırın, Kaydetme Biçimini Belirt açılır listesinden Excel Makro Etkin Kitap seçeneğini seçin ve son olarak Kaydet düğmesine tıklayın. Ekran görüntüsüne bakın:

Çalışma kitabının Excel Makro Etkin Çalışma Kitabı olarak kaydedildiğini gösteren bir ekran görüntüsü

Liste kutularını her güncellediğinizde çalışma kitabını kaydetmeyi unutmayın; böylece çalışma kitabını yeniden açtığınızda önceki tüm seçimleriniz liste kutularında korunmuş olur.

Not: Çalışma kitabını kaydettiğinizde, çalışma kitabınızdaki tüm sayfaların sonuna otomatik olarak “ListBox Data” adlı bir çalışma sayfası eklenir. Bu sayfayı dikkate almayın; çünkü çalışma kitabı kapatıldığında otomatik olarak kaybolur.


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