كيفية حفظ أو الاحتفاظ بتحديدات مربعات قائمة ActiveX في Excel؟
لنفترض أنك قمت بإنشاء بعض مربعات القوائم وإجراء تحديدات في مربعات القائمة ، ومع ذلك ، تختفي جميع التحديدات الخاصة بمربعات القائمة هذه عند إغلاق المصنف وإعادة فتحه. هل تريد الاحتفاظ بالتحديدات التي تم إجراؤها في مربعات القوائم عند إغلاق المصنف وإعادة فتحه؟ يمكن أن تساعدك الطريقة في هذه المقالة.
احفظ أو احتفظ باختيارات من مربعات قائمة ActiveX برمز VBA في Excel
قم بإدراج خانات اختيار متعددة أو حذفها بشكل مجمّع في Excel بسهولة:
• مربعات اختيار إدراج دفعة المرافق كوتولس ل إكسيل يمكن أن تساعدك في إدراج خانات اختيار متعددة بسرعة في النطاق المحدد مرة واحدة. ويمكنك حذف جميع خانات الاختيار في النطاق المحدد بامتداد خانات اختيار الحذف الدفعي. انظر sccreenshot:
كوتولس ل إكسيل: مع أكثر من 200 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود خلال 60 يومًا. تنزيل وتجربة مجانية الآن!
احفظ أو احتفظ باختيارات من مربعات قائمة ActiveX برمز VBA في Excel
يمكن أن تساعدك التعليمات البرمجية لـ VBA أدناه في حفظ التحديدات أو الاحتفاظ بها إذا كانت مربعات قائمة ActiveX في Excel. الرجاء القيام بما يلي.
1. في المصنف الذي يحتوي على مربعات قائمة ActiveX التي تريد الاحتفاظ بالتحديدات ، اضغط على قديم + F11 مفاتيح في نفس الوقت لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
2. في ال ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، انقر نقرًا مزدوجًا ThisWorkbook في الجزء الأيمن لفتح ملف ThisWorkbook رمز نافذة او شباك. ثم انسخ كود فبا التالي في نافذة الكود.
رمز فبا: حفظ التحديدات من مربعات قائمة 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. اضغط على قديم + Q مفاتيح لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
4. أنت الآن بحاجة إلى حفظ المصنف كمصنف Excel Macro ممكّن. من فضلك اضغط قم بتقديم > حفظ باسم > تصفح.
5. في ال حفظ باسم في مربع الحوار، حدد مجلدًا لحفظ المصنف، وأعد تسميته حسب حاجتك، وحدد مصنف Excel ممكن بماكرو في ال حفظ كنوع القائمة المنسدلة، ثم انقر في النهاية على حفظ زر. انظر لقطة الشاشة:
الرجاء حفظ المصنف في كل مرة تقوم فيها بتحديث مربعات القائمة. ثم سيتم الاحتفاظ بجميع التحديدات السابقة في مربعات القائمة بعد إعادة فتح المصنف.
ملاحظات: عند حفظ المصنف، تظهر ورقة عمل تسمى "بيانات ListBox" سيتم إنشاؤه تلقائيًا في نهاية جميع أوراق العمل في المصنف الخاص بك، يرجى تجاهل ورقة العمل هذه لأنها ستختفي تلقائيًا عند إغلاق المصنف.
أفضل أدوات إنتاجية المكتب
عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!