الاستاذ مجدى
تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي 829894
ادارة المنتدي تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي 103798

تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي Uoou_u10





 
الرئيسيةالأستاذ التعليمضع التسجيلدخولالتسجيل
سبحانك لا علم لنا إلا ما علمتنا أنك أنت العليم
عزيزى الزائر قم بالتسجيل بالمنتدى لمشاهدة باقى الاقسام المهمه
مع تحيات مجدى عبد المنعم محمود يونس ببورسعيد " مدير المنتدى "
أهلا بك من جديد يا زائر آخر زيارة لك كانت في
آخر عضو مسجل محمود تارى فمرحبا به


شاطر
 

 تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي

اذهب الى الأسفل 
كاتب الموضوعرسالة
مجدى يونس
Admin
مجدى يونس

عدد المساهمات : 2996
تاريخ التسجيل : 22/02/2013
العمر : 65

تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي Empty
مُساهمةموضوع: تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي   تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي Avatarالأحد أغسطس 04, 2019 9:47 am

تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي

ولا: نقوم بإنشاء فورم وندرج به قائمة منسدلة (ComboBox1)

ثانيا : نفتح محرر الاكواد View Code)

ثالثا: من نافذه المحرر نختر حدث بداية التشغيل الفورم UserForm_Initialize

Private Sub UserForm_Initialize()

End Sub

نقوم بوضع المتغير التالي الخاص بتحديد ورقة العمل وهم أمر مهم جدا

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
End Sub

نأتي الأن إلى الأكواد الخاصة بتغذية القائمة المنسدلة



ملاحظه جميع الأكواد الخاصة بالتغذية أنا إخترت العمود الأول وبداية التغذية من الخلية A2 ولكم حرية التغيير



الكود رقم 1

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Range("A2", Range("A" & Rows.Count).End(xlUp)).Name = "Dynamic"
Me.ComboBox1.RowSource = "Dynamic"
End Sub

الكود رقم 2

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Me.ComboBox1.RowSource = Range("B2", Range("B65536").End(xlUp)).Address
End Sub

الكود رقم 3

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Me.ComboBox1.RowSource = ("A2:A") & ws.Cells(Rows.Count, "A").End(xlUp).Row
End Sub

الكود رقم 4

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Me.ComboBox1.List = Range("A2:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row).Value
End Sub

الكود رقم 5

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim FR As Integer, LR As Integer
With ws
LR = .Range("A2").End(xlDown).Row
For FR = 2 To LR
Me.ComboBox1.AddItem .Range("A" & FR)
Next FR
End With
End Sub

الكود رقم 6

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim R As Integer
With ws
For R = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
If .Range("A" & R) <> "" Then
Me.ComboBox1.AddItem .Range("A" & R)
End If
Next R
End With
End Sub

الكود رقم 7

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim LR As Long
LR = ws.Cells(Rows.Count, "A").End(xlUp).Row
myList = ws.Range("A2:" & "A" & LR)
Me.ComboBox1.List = myList
End Sub

الكود رقم 8

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim LR As Long
LR = ws.Range("A" & Rows.Count).End(xlUp).Row
Set myList = ws.Range("A2:A" & LR)
Me.ComboBox1.List = myList.Value
End Sub

الكود رقم 9

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim LR As Long
With ComboBox1
LR = ws.Cells(Rows.Count, 1).End(xlUp).Row
.List = ws.Range(ws.Cells(2, 1), ws.Cells(LR, 1)).Value
End With
End Sub

الكود رقم 10

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim myList As Range
For Each myList In ws.Range("A2").SpecialCells(xlConstants)
With Me.ComboBox1
.AddItem myList.Value
.List(.ListCount - 1, 1) = myList.Offset(0, 1).Value
End With
Next
End Sub

الكود رقم 11

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim i As Integer, iMin As Integer, iMax As Integer
iMin = 2: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For i = iMin To iMax
ComboBox1.List = Range(Cells(iMin, 1), Cells(iMax, 1)).Value
Next i
End Sub

الكود رقم 12

من إدارة الأسماء نختر جديد

الإسم انت حر فيما تختار

أنا إخترت

MyRange

في خانة يشير إلى نقوم بوضع هذه المعادلة

=OFFSET(Sheet1!$A$2;;;COUNTA(Sheet1!$A$2:$A$10000);1)

في الفورم نقوم بوضع الكود التالي

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Me.ComboBox1.RowSource = "Myrange"
End Sub

الكود رقم 13



كود تغذية القائمة المنسدلة بدون فراغات

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim cell As Range
With ws
For Each cell In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
If Not IsEmpty(cell) Then ComboBox1.AddItem cell.Value
Next cell
End With
End Sub

الكود رقم 14



كود تغذية القائمة المنسدلة بدون فراغات وبدون تكرار

Private Sub UserForm_Initialize()
Dim ws As Object
Set ws = ThisWorkbook.Sheets(1)
ws.Select
Dim I As Integer
Dim Valeurs As Variant
Dim sDic As Object
Set sDic = CreateObject("Scripting.Dictionary")
With ws
Valeurs = .Range("A2:A100").Value
For I = LBound(Valeurs) To UBound(Valeurs)
If Not IsEmpty(Valeurs(I, 1)) Then sDic(Valeurs(I, 1)) = ""
Next I
End With
If IsArray(Valeurs) Then Me.ComboBox1.List = sDic.keys
End Sub

وفي الأخير أتمنى هذه التجمعية المتواضعة أن تفيدكم

_________________
لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك

تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي Aaa11
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://magdi54.forumegypt.net
 
تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
الاستاذ مجدى :: قسم مجموعة الاوفيس :: قسم الاكسل :: شروحات اكسل-
انتقل الى: