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

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

قام بنشر

اريد داله تظهر الأرقام وعددها الموجودة في العمود A وليست موجود في العمود B

السلام عليكم

لدي عمودين اخواني بهما ارقام وليكن A و B اريد في الخلية مثلا C1 اني يظهر لي عدد الأرقام التي موجودة في العمود A وليست موجودة في B والعكس ايضاً نعمله في الخليه C2

واريد في العمود D ان تظهر لي الأرقام الغير متواجده في العمود B وموجودة في A

واريد في العمود E ان تظهر لي الأرقام الغير متواجدة في العمود A وموجودة في B

يوجد مثال على ملف اكسل

Q.rar

قام بنشر

جرب هذا أخي الكريم

.......

لاحظ أن المعادلة الموجودة في خلية العدد معادلة صفيف

أي تكتبها ثم تضغط ctrl+shift+enter وليس enter فقط

mas_unique_values.rar

  • Like 1
قام بنشر

المشكلة أخي الكريم في تحديد المدى من a2 إلى a11

وأنت كتبت الرقم الجديد في الخلية a12 ولتفادي ذلك تم تعديل المعادلة لتنظر في العمود بأكمله كما فعلنا مع دالة العدّ

.................

تم تعديل المرفق في المشاركة 2

  • Like 1
قام بنشر

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

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

ولو تكرمت لو اردت ان اخفي المعادلة تماما من شريط المعادلات بحيث لا تظهر ابدا كيف يكون ذلك الله يبارك فيك

قام بنشر

اخي الغالي اعذرني

انا جربت الشرح الخاص بك الأن كتجربة على مقارنة بين العمودين بهما حوالي اكثر من 3000 رقم والنتيجة كانت كالأتي ::

1- الجهاز يأخذ وقت طويل في كل شيء سواء نقل الأرقام للأعمده او في عملية المقارنة وإظهار النتائج واحيانا يهنج الجهاز

2- الفرق بين العمودين انا اعرفه مسبقاً وهو 3 ارقام موجودة في العمود 1 وليست موجودة 2 ، وبالفعل وجدتهم في العمودين الأخريين ، ولكن ظهرت نتيجة الأعمده الخاصه بالعدد بالسالب وخطأ كما في الصوره المرفقة

3- حاولت عمل نفس الداله المرفقه على ان تكون النتائج في الصفحة والمدخلات في صفحة اخرى فشلت لأن المعادله يخبرني دوما انها غير صحيحة او الرقم صفر

post-2322-0-17225900-1323489887_thumb.pn

قام بنشر

السلام عليكم

بعد اذن استاذنا الحبيب ماس

أخي الفاضل office 2003

إستخدم هذا الكود إن شاء الله يفي بالغرض


Sub MKARNH_ALI()

Application.ScreenUpdating = False

Range("C2:D2,E2:F65536").ClearContents

Q = [A15000].End(xlUp).Row

For R = 2 To Q

If Application.WorksheetFunction.CountIf([B2:B5000], Cells(R, 1)) = 0 Then

With Columns(5).Rows(65536).End(xlUp)

.Offset(1, 0) = Cells(R, 1)

End With

End If

Next

RO = [B15000].End(xlUp).Row

For R = 2 To RO

If Application.WorksheetFunction.CountIf([A2:A5000], Cells(R, 2)) = 0 Then

With Columns(6).Rows(65536).End(xlUp)

.Offset(1, 0) = Cells(R, 2)

End With

End If

Next

T = [E15000].End(xlUp).Row

Z = [F15000].End(xlUp).Row

[C2].Value = Application.WorksheetFunction.Count(Range([E2], Cells(T, "E")))

[D2].Value = Application.WorksheetFunction.Count(Range([F2], Cells(Z, "F")))

Application.ScreenUpdating = True

MsgBox "الحمد لله", vbInformation, "تمت المقارنة"

End Sub

وهذا المرفق

Q_ALi.rar

قام بنشر

السلام عليكم

اخي ابو نصار

كود رائع جداً

وهذا محاولة لإختصار الكود بنفس المضمون


Sub MKARNH_ALI()

Application.ScreenUpdating = False

Range("C2:D2,E2:F65536").ClearContents

Q = [A15000].End(xlUp).Row

For R = 2 To Q

If Application.CountIf([B2:B5000], Cells(R, 1)) = 0 Then

Cells([E15000].End(xlUp).Row + 1, 5) = Cells(R, 1)

End If

If Application.CountIf([A2:A5000], Cells(R, 2)) = 0 Then

Cells([F15000].End(xlUp).Row + 1, 6) = Cells(R, 2)

End If

Next

[C2].Value = [E15000].End(xlUp).Row - 1

[D2].Value = [F15000].End(xlUp).Row - 1

Application.ScreenUpdating = True

MsgBox "الحمد لله", vbInformation, "تمت المقارنة"

End Sub

قام بنشر

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

استاذ ماس123

لك علي فضل كبير لا انساه

جزاك الله كل خير

= = = =

بعد اذن اخواني العباقرة الذين سبقوني بالرد

استاذ محمد صالح

الأستاذ ابو نصار

الأستاذ ابو احمد

هذا حل آخر باستخدام الدوال

آمل ان يكون هو المطلوب

قام بنشر

اشكركم جزيلا وقدم تم تطبيق شرح اخي الغالي

alidroos

ولكن لي طلب الله يبارك فيكم ، انا اريد الأن ان اعمل حماية للملف يعني لا اسمح الا فقط بوضع الخلايا المنسوخة للعمود 1 وال 2 اما باقي الأعمدة والنتائج محمية جربت ان اعمل ذلك بحماية الورقة يظهر لي عند اختيار الأمر ان الورقة محميوة وللقراءة فقط ماحل هذا الموضوع الله يبارك فيكم

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

قام بنشر

اخي اضف في اول الكود الغاء الحماية

وفي اخر الكود استرجاع الحمايه

هكذا بيكون الكود بعد الاضافه

فرضا ان باسورد الورقة 123


SUB A () ' تسمية وهمية للكود غيرها من الكود الفعلي الذي لديك

' فرضا أنا الباسورد 123

'=========================

' إالغاء الباسورد للورقة النشطة قبل تنفيذ الكود

' activesheet.unprotect ("123")

'=========================

' نحط الكود هنا

'=========================

' إسترجاع الحماية للورقة النشطه بعد تنفيذ الكود

' activesheet.protect password:="123"

'=========================

 END SUB

قام بنشر

السلام عليكم

لاعليك هذا الكود وبه طلبك


Sub MKARNH_ALI()

Application.ScreenUpdating = False

'===============================

' إلغاء الباسورد للورقة النشطه قبل عمل الكود

ActiveSheet.Unprotect ("123")

'===============================

Range("j3:K7000").ClearContents

Q = [E15000].End(xlUp).Row

For R = 3 To Q

If Application.WorksheetFunction.CountIf([F3:F5000], Cells(R, 5)) = 0 Then

With Columns(10).Rows(65536).End(xlUp)

.Offset(1, 0) = Cells(R, 5)

End With

End If

Next

RO = [F15000].End(xlUp).Row

For R = 3 To RO

If Application.WorksheetFunction.CountIf([E3:E5000], Cells(R, 6)) = 0 Then

With Columns(11).Rows(65536).End(xlUp)

.Offset(1, 0) = Cells(R, 6)

End With

End If

Next

T = [J15000].End(xlUp).Row

Z = [K15000].End(xlUp).Row

[H6].Value = Application.WorksheetFunction.Count(Range([J3], Cells(T, "J")))

[H12].Value = Application.WorksheetFunction.Count(Range([K3], Cells(Z, "K")))

Application.ScreenUpdating = True

MsgBox "الحمد لله", vbInformation, "تمت المقارنة"

'===================================

' إسترجاع الرقم السري للورقة النشطه بعد تنفيذ الكود

ActiveSheet.Protect Password:="123"

'====================================

End Sub

في حال انك تريد تغير الباسورد بدلا عن 123 غيره من الكود من هذا السطر اول الكود الى اي رقم تريده

ActiveSheet.Unprotect ("123")

وبرضه من هذا السطر في اخر الكود

ActiveSheet.Protect Password:="123"

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