Skip to main content

Excel'de ActiveX liste kutularının seçimlerini nasıl kaydedebilir veya koruyabilirsiniz?

Author: Siluvia Last Modified: 2025-08-07

Diyelim ki bazı liste kutuları oluşturdunuz ve bu liste kutularında seçimler yaptınız, ancak çalışma kitabını kapattığınızda ve yeniden açtığınızda bu liste kutularının tüm seçimleri kayboluyor. Çalışma kitabını her kapattığınızda ve 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 VBA kodu ile ActiveX liste kutularının seçimlerini kaydetme veya koruma


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

Aşağıdaki VBA kodu, Excel'deki ActiveX liste kutularının seçimlerini kaydetmenize veya korumanıza yardımcı olabilir. Lütfen şu adımları izleyin.

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

2. Microsoft Visual Basic for Applications penceresinde, sol bölmedeki ThisWorkbook öğesine çift tıklayın, ThisWorkbook Kod 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

a screenshot showing how to use the VBA code

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

4. Şimdi çalışma kitabını bir Excel Makro özellikli çalışma kitabı olarak kaydetmeniz gerekiyor. Lütfen Dosya > Farklı Kaydet > Gözat'a tıklayın.

a screenshot of opening the Save As dialog box

5. Farklı Kaydet iletişim kutusunda, çalışma kitabını kaydetmek için bir klasör seçin, ihtiyacınız olan şekilde yeniden adlandırın, Kaydetme Biçimini Belirt açılır listesinden Excel Makro özellikli Çalışma Kitabı'nı seçin ve son olarak Kaydet düğmesine tıklayın. Ekran görüntüsüne bakın:

a screenshot of saving the workbook as an Excel Macro-Enabled Workbook

Lütfen liste kutularını her güncellediğinizde çalışma kitabını kaydedin. Daha sonra tüm önceki seçimler, çalışma kitabı yeniden açıldıktan sonra liste kutularında kalacaktır.

Not: Çalışma kitabını kaydederken, çalışma kitabınızdaki tüm çalışma sayfalarının sonuna otomatik olarak "ListBox Data" adlı bir çalışma sayfası oluşturulacaktır, lütfen bu çalışma sayfasını görmezden gelin çünkü çalışma kitabı kapandığında otomatik olarak kaybolacaktır.


En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veriye dayalı analizi devrimsel olarak değiştirin: Akıllı Yürütme |Kod Oluştur |Özel Formüller Oluştur |Verileri Analiz Edin ve Grafikler Oluşturun |Geliştirilmiş İşlevler’i çağırın
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: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluşturun | 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ı & Sütunları Karşılaştır...
Özel Seçilen Ö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 | 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 filtreleme...)...
En Gözde15 Araç Seti:12 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 Araç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 ve40’tan fazla başka dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...


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

  • Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
  • Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
  • Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!