كيف يمكن حفظ أو الاحتفاظ بتحديدات مربعات القوائم من نوع ActiveX في Excel؟
هل ترغب في الاحتفاظ بالتحديدات التي قمت بها في مربعات القوائم كلما أغلقت المصنف وأعدت فتحه؟ لنفترض أنك أنشأت بعض مربعات القوائم وقمت بتحديد عناصر فيها، لكن جميع التحديدات تُفقد عند إغلاق المصنف ثم إعادة فتحه. يمكن أن تساعدك الطريقة الموضحة في هذه المقالة.
حفظ أو الاحتفاظ بتحديدات مربعات القوائم من نوع 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 
3. اضغط على مفاتيحAlt+Q لإغلاق نافذةMicrosoft Visual Basic for Applications.
4. الآن، تحتاج إلى حفظ المصنف كمصنف Excel يدعم ماكرو. انقر علىFile > Save As > Browse.

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

يرجى حفظ المصنف في كل مرة تقوم فيها بتحديث مربعات القوائم، ليتم الاحتفاظ بجميع التحديدات السابقة فيها بعد إعادة فتح المصنف.
ملاحظة: عند حفظ المصنف، سيتم إنشاء ورقة عمل تلقائيًا باسم “ListBox Data” في نهاية جميع أوراق العمل في مصنفك. يُرجى تجاهل هذه الورقة، إذ ستختفي تلقائيًا بمجرد إغلاق المصنف.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل