اولاً- الكود الذي رفعته لك يأخذ بياناته من
الورقة 1 الخلية C9 لذلك فان الكود لا يجد شيء
في هذه الصفحة ابتداء من الخلية C9 لاضافته
ثانياً- تم التعديل على الكود ليتعامل مع الصفحة
Sheet1 الخلية C9 ونزولاً
ثالثاً- مصدر البيانات يجب لا يحتوي على خلايا فارغة (اي من الخلية C9 نزولاً الى اخر خلية غير فارغة لأن الماكرو يتوقف عند أول خلية فارغة)
رابعاً- كلما عدلّت شيئاً في مصدر البيانات اضغط على الزر(في الملف) لتحديث القوائم المنسدلة
الكود بعد التعديل
Sub data_val()
Dim Dic As Object
Dim i%: i = 9
Set Dic = CreateObject("Scripting.Dictionary")
Do Until Sheets("Sheet1").Range("C" & i) = vbNullString
Dic(Sheets("Sheet1").Range("C" & i).Value) = vbNullString
i = i + 1
Loop
With Sheets("Sheet1").Range("G9:G64").Validation
.Delete
.Add 3, Formula1:=Join(Dic.keys, ",")
End With
Set Dic = Nothing
End Sub
الملف مرفق