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

قائمة الكوبوبكس بناء على قيمة كوبوبكس أخرى بدون تكرار أو فراغات


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

أيها الإخوة 

السلام عليكم 

في الملف المرفق ثلاث كوم بوبكس الأولى للأشهر والثانية للأيام والثالثة للسنة 

ما أريده هو :

عند اختيار الشهر في الكومبوبكس الأولى يتم استرجاع الايام الموجودة في العمود الثاني من الشيت LIST  والمقابلة لهذا   الشهر على شكل قائمة منسدلة وبدون تكرار او فراغ  في الكومبوبكس الثاني 

وهكذا بالنسبة  للكومبويكس الثالث والذي يخص السنوات .

وشكرا 

COMBOBOX.xlsx

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

اشكركم الاستاذ/ سليم  على الاهتمام 

الملاحظة 1: القيم في الكومبوبكس 2 متكررة والذي ينبغي ان تكون فريدة 

الملاحظة 2: القيمة في الكومبوبكس 3  في بعض الحالات ليست صحيحة لاحظ عندما تختار الشهر فبراير واليوم 11 تكون السنة 2018 والموجود في شيت القائمة 2017

الظاهر ان الكود يقرأ اول سنة مقابلة للشهر  والاحسن ان يتم ربط قيمة الكومبوبكس 3 بالشهر واليوم معا 

وشكرا 

COMB_SALIM.xlsm

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

تم التعديل كما تريد

الكود

Option Explicit
Sub romove_dup()
Sheets("LIST").Range("z1").CurrentRegion.Clear
Sheets("LIST").Range("A1", Sheets("LIST").Range("a1").End(4).End(2)).Copy _
Sheets("LIST").Range("Z1")
Sheets("LIST").Range("z1", Sheets("LIST").Range("z1").End(4).End(2)).RemoveDuplicates _
Columns:=Array(1, 2, 3)
Sheets("LIST").Range("z1", Sheets("LIST").Range("z1").End(4).End(2)) _
.SortSpecial
End Sub
'=======================================
Private Sub ComboBox1_Change()
Application.ScreenUpdating = False
Dim x%, i%, My_Max%, My_Min%
ComboBox2.Clear
ComboBox3.Clear
romove_dup
 Dim R%
 Dim My_rg
 Set My_rg = Sheets("LIST").Range("z1", Sheets("LIST").Range("z1").End(4))
 R = My_rg.Find(ComboBox1.Text).Row
 
    Do Until My_rg.Cells(R).Value <> ComboBox1.Value
     ComboBox2.AddItem My_rg.Cells(R).Offset(, 1)
     R = R + 1
    Loop
  Sheets("LIST").Range("z1").CurrentRegion.Clear
  
 My_Max = Application.Max(Sheets("LIST"). _
 Range("c1", Sheets("LIST").Range("c1").End(4)))
 My_Min = Application.Min(Sheets("LIST"). _
 Range("c1", Sheets("LIST").Range("c1").End(4)))
  x = My_Max - My_Min
   For i = 0 To x
        ComboBox3.AddItem My_Min + i
   Next
   
   ComboBox2.Value = "Choose Day"
   ComboBox3.Value = "Choose Year"
   Set My_rg = Nothing
   Application.ScreenUpdating = True
End Sub

الملف مرفق

 

COMB_SALIM_Without _Rep.xlsm

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information