KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكن حفظ أو الاحتفاظ بتحديدات مربعات القوائم من نوع ActiveX في Excel؟

المؤلفSiluviaتاريخ التعديل

هل ترغب في الاحتفاظ بالتحديدات التي قمت بها في مربعات القوائم كلما أغلقت المصنف وأعدت فتحه؟ لنفترض أنك أنشأت بعض مربعات القوائم وقمت بتحديد عناصر فيها، لكن جميع التحديدات تُفقد عند إغلاق المصنف ثم إعادة فتحه. يمكن أن تساعدك الطريقة الموضحة في هذه المقالة.

حفظ أو الاحتفاظ بتحديدات مربعات القوائم من نوع ActiveX باستخدام كود VBA في Excel


حفظ أو الاحتفاظ بتحديدات مربعات القوائم من نوع ActiveX باستخدام كود VBA في Excel

يمكنك الاستفادة من كود VBA أدناه للحفاظ على تحديداتك في مربعات قوائم ActiveX بـ Excel. يُرجى اتباع الخطوات التالية:

1. في المصنف الذي يحتوي على مربعات القوائم من نوع ActiveX التي تريد الاحتفاظ بتحديداتها، اضغط معًا على مفاتيحAlt + F11 لفتح نافذةMicrosoft Visual Basic for Applications.

2. في نافذةMicrosoft Visual Basic for Applications، انقر نقرًا مزدوجًا علىThisWorkbook في الجزء الأيسر لفتح نافذة الكود الخاصة بـThisWorkbookCode، ثم الصق كود VBA التالي في نافذة الكود.

كود VBA: حفظ تحديدات مربعات القوائم من نوع ActiveX في Excel

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

3. اضغط على مفاتيحAlt+Q لإغلاق نافذةMicrosoft Visual Basic for Applications.

4. الآن، تحتاج إلى حفظ المصنف كمصنف Excel يدعم ماكرو. انقر علىFile > Save As > Browse.

لقطة شاشة لفتح مربع حوار الحفظ باسم

5. في مربع الحوارSave As، اختر مجلدًا لحفظ المصنف، وأعد تسميته حسب الحاجة، ثم من القائمة المنسدلةتحديد تنسيق الحفظ، حددExcel Macro-Enabled Workbook، وانقر أخيرًا على زرSave. راجع لقطة الشاشة:

لقطة شاشة لحفظ المصنف كمصنف ماكرو مُمكَّن من Excel

يرجى حفظ المصنف في كل مرة تقوم فيها بتحديث مربعات القوائم، ليتم الاحتفاظ بجميع التحديدات السابقة فيها بعد إعادة فتح المصنف.

ملاحظة: عند حفظ المصنف، سيتم إنشاء ورقة عمل تلقائيًا باسم “ListBox Data” في نهاية جميع أوراق العمل في مصنفك. يُرجى تجاهل هذه الورقة، إذ ستختفي تلقائيًا بمجرد إغلاق المصنف.


أفضل أدوات الإنتاجية لمكتبتك

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   12 أدواتالتحويل(تحويل إلى كلمات،تحويل العملة، ...)|   7 أدواتدمج وتقسيم(دمج متقدم للصفوف،تقسيم الخلايا، ...)|... وأكثر من ذلك
استخدم Kutools باللغة التي تفضلها – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية و40+ لغات أخرى!

عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...


يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير

  • تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
  • افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
  • يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!

جميع الإضافات من Kutools في برنامج تثبيت واحد!

Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل