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

عدم تكرار البيانات فى خلية بها قائمة منسدلة


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

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

ارجو من سيادتكم ان تكون الخلية H2  فى ورقة وظيفة ان تضم بيانات لا تتكرر  

ملحوظة H2  هى قائمة منسدلة

ولكم كل التقدير والاحترام

hamed.xls

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

  • أفضل إجابة

جرب هذا الكود

1-يقوم بادراج قائمة منسدلة بدون تكرار ومرتبة ابجدياً 

2-يعمل اوتوماتيكياً عند فتح الملف

Option Explicit

Private Sub Worksheet_Activate()
Salim_Data_Val
End Sub
'+++++++++++++++++++++++++++++++++++
Sub Salim_Data_Val()
Dim B As Worksheet, W As Worksheet
Set B = Sheets("البيانات الرئيسية")
Set W = Sheets("الوظيفة")
Dim i#: i = 7
Dim arr
Dim Laste_row#
Laste_row = B.Cells(Rows.Count, "D").End(3).Row
Dim rg As Object
Set rg = CreateObject("System.Collections.Arraylist")
With rg
 Do Until i > Laste_row
  If Not .Contains(UCase(B.Range("D" & i).Value)) _
   And B.Range("D" & i) <> vbNullString Then _
  .Add UCase(B.Range("D" & i).Value)
 i = i + 1
 Loop
 .Sort
 arr = Join(.Toarray, ",")
 End With
 
 With W.Range("H2").Validation
 .Delete
 .Add xlValidateList, Formula1:=arr
  End With
 Set rg = Nothing: Set B = Nothing: Set W = Nothing

End Sub



الملف مرفق

hamed_1.xls

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

شكر وتقدير واحترام إلى كل القائمين على هذا المنتدى المفيد وشكر خاص للاستاذ سليم حاصبيا

ولدى سؤال هل هناك كود فيجوال يجعل اى خلية فى اى شيت بها تاريخ 1900/1/00  تكون فارغة 

بمعنى يحذف هذا التاريخ ويجعل الخلية فارغة

يجب عليك الضغط على الإعجاب لإجابة الأستاذ سليم وليس على تعليق الأستاذ أحمد يوسف

 

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

غيرت التنسيق الى General لكن التاريخ العادية اصبحت ارقام  وتاريخ 1900/1/00 اصبح اصفار 

لا اريد تغيير باقى التواريخ الى ارقام 

ارجو المساعدة

وتحياتي لكم ربنا يحفظكم من كل سوء

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

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

اشكر القائمين على هذا الموقع وشكر خاص للاستاذ سليم حاصبيا 

واريد ان اوضح انني توصلت غلى طريقة للتخلص من تاريخ  1900/1/00 وهى ان اسبق الدالة بIF

مثال للدالة 

=IF(ISERROR(MATCH($C$7;INDEX(بيانات1;0;3);0));"";INDEX(بيانات1;MATCH($C$7;INDEX(بيانات1;0;3);0);15))

اجعل if تسبق هذه الدالة مثل

=IF(IF(ISERROR(MATCH($C$7;INDEX(بيانات1;0;3);0));"";INDEX(بيانات1;MATCH($C$7;INDEX(بيانات1;0;3);0);15))="";"";IF(ISERROR(MATCH($C$7;INDEX(بيانات1;0;3);0));"";INDEX(بيانات1;MATCH($C$7;INDEX(بيانات1;0;3);0);15)))

ولسيادتكم جزيل الشكر

ارجو ان اكون قد وفقت فى توضيح المعلومة

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

لعدم جعل قيم الصفر تظهر هده الميزة موجودة في أوفيس بدون معادلات 

1

image.png.9f3130515761c140b47deb609bce417d.png2

image.png.66b85c92c2c596ef92ed1f77b7c13dbb.png3

image.png.47cc71e2b583488cf1c0d8368ee78bce.pngانزع علامة الصح من show zero in a cell that have zero value

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

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