اذهب الي المحتوي
أوفيسنا

مشكلة CONTROLS في VBA


الردود الموصى بها

السلام عليكم 

لدي  مشكلة في استخدام CONTROLS  في مشروعي

عند استخدام CONTROLS  يظهر الخطأ التالي:

 

FGFGFGF.png

أتمنى المساعدة وشكراً

تم تعديل بواسطه علي بركات
رابط هذا التعليق
شارك

ربما لا يمكنك الحصول على اجابة صحيحة بنشرك لصورة 

حاول ارفاق ملفك او على الاقل نشر الكود بالكامل مع توضيح المطلوب  لنتمكن من مساعدتك 

رابط هذا التعليق
شارك


Dim bgg
For bgg = 1 To 17
If Application.WorksheetFunction.VLookup(CheckBox(bgg).Caption, Config.Range("b:e"), 4, 2) = "لا" Then

CheckBox(bgg).Caption.VALUE= FALSE
Else
End If

Next bgg

 

أريد تغيير قيم الـ CHECKBOXS البالغ عددها 17 حسب قيمة معينة إن كانت نعم أو لا

حاولت استخدام Controls يظهر لي الخطأ التالي:

2023-12-30_081815.png

رابط هذا التعليق
شارك

بما انك لم تقم بنشر الكود بالكامل لنتمكن من تحديد عنصر التغيير لديك 

و على حسب تخميني انك تستخدم يوزرفورم اليك نمودج للحل يمكنك تطويعه على حسب احتياجاتك وكما 

 سبق الدكر انه يوجد صعوبة لانشاء الكود الصحيح ما دمت لم تقم برفع ملف يتضمن طلبك بشكل اوضح

لنفترض انك تقوم  باختبار البيانات عن طريق Combobox1 

'''''''''''''''طريقة رقم 1''''''''''''''''''''
Private Sub ComboBox1_Change()
For bgg = 1 To 17
If Application.WorksheetFunction.VLookup(Me.ComboBox1.Text, Range("B:E"), 4, 0) = "نعم" Then
      Me("CheckBox" & bgg).Caption = True
      Else
      Me("CheckBox" & bgg).Caption = False
      End If
   Next
End Sub
''''''''''''''طريقة رقم 2''''''''''''''''''''
'Private Sub ComboBox1_Change()
'Dim bgg As Control, réf As String, col As Range
'Set WS = Sheet1: Set col = WS.Range("B2:E" & WS.[B65000].End(xlUp).Row)
'For Each bgg In Me.Controls
'réf = Me.ComboBox1.Text
'If Application.WorksheetFunction.VLookup(réf, col, 4, False) = "نعم" Then
'    If TypeName(bgg) = "CheckBox" Then bgg.Caption = True
'    Else
'      If TypeName(bgg) = "CheckBox" Then bgg.Caption = False
'End If
'Next
'End Sub

''''''''''''''طريقة رقم 3''''''''''''''''''''
'For Each bgg In UserForm1.Controls
'If TypeName(bgg) = "CheckBox" Then
'If Application.WorksheetFunction.VLookup(Me.ComboBox1.Text, Range("B:E"), 4, 0) = "نعم" Then bgg.Caption = True Else bgg.Caption = False
'End If
'Next bgg

'''تحديد العناصر''''''طريقة رقم 4''''''''''''''''''''
'Dim bgg As Control
'For Each bgg In Me.Controls
'If Application.WorksheetFunction.VLookup(Me.ComboBox1.Text, Range("B:E"), 2, 0) = "نعم" Then
'    If TypeName(bgg) = "CheckBox" Then bgg.Value = True
'    Else
'      If TypeName(bgg) = "CheckBox" Then bgg.Value = False
'End If
'Next

'''التحقق مع تلوين القيمة  ''''''طريقة رقم 5''''''''''''''''''''
Private Sub ComboBox1_Change()
Dim LR&
Set ws = Sheet1

With ws
    LR = .Cells(.Rows.Count, "B").End(xlUp).Row
    For bgg = 1 To 17
If Application.WorksheetFunction.VLookup(Me.ComboBox1.Text, Range("B:E"), 4, 0) = "نعم" Then
      Me("CheckBox" & bgg).Caption = True
      Else
      Me("CheckBox" & bgg).Caption = False
      End If
   Next
For i = 2 To LR
    .Range("E" & i).Interior.Color = xlNone
 If .Range("B" & i).Value = Me.ComboBox1.Value And .Range("E" & i).Value = "نعم" Then
    .Range("E" & i).Interior.Color = vbYellow
        End If
      Next i
   End With
End Sub

اليك ملف حاولت تنفيد الفكرة عليه لتتمكن من تعديلها بما يناسبك

CONTROLS F_VLookup.xlsm

تم تعديل بواسطه محمد هشام.
  • Like 2
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information