اذهب الي المحتوي
بحث مخصص من جوجل فى أوفيسنا
Custom Search
mubcom

دالة لاستخراج العملاء المتحركين خلال الاشهر

Recommended Posts

لدى عدد من العملاء 803 عميل من كود 102 الى كود 906 

والاعمده المقابله لحركتهم كل شهر

فانا اريد امام كود كل عميل اذا كان تحرك فى اول عمود نكتب امامه متحرك هذا الشهر

واذا توجد كوده فى العمود للشهر السابق ولم يتواجد فى المتحرك هذا الشهر نكتب اول شهر بلاحركه واذا توجد فى العمود الثالث ولم يتواجد فى العمودين السابقين نكتب ثانى شهر بلا حركه

وهكذا والعملاء الذين لم يرج كودهم بالاعمده يكتب امامهم مستمر بلا حركه

 

مع الشكر مقدما

الشرح هنا.xlsx

شارك هذه المشاركه


رابط المشاركه
شارك

السلام عليكم

برجاء  التوضيح اكثر 

يمكن التوضيح بارفاق حلول لهذه الامثلة 

 في اي عمود سيتم وضع الحل  

وهل من الممكن ان يتكرر رقم العميل  في الثلاث اعمدة   المتتالية 

شارك هذه المشاركه


رابط المشاركه
شارك

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

استخدم هذا الكود

Sub Purchses()
Dim C As Range
Dim x As Single, y As Single, z As Single
Dim AA As String, xx As String, yy As String, zz As String
AA = " مستمر بلا حركه"
xx = "متحرك هذا الشهر": yy = "أول شهر بلا حركه": zz = "ثانى شهر بلا حركه"

Application.ScreenUpdating = False
For Each C In Sheet1.Range("A3:A805")
x = WorksheetFunction.CountIf(Sheet1.Range("C3:C805"), C)
y = WorksheetFunction.CountIf(Sheet1.Range("D3:D805"), C)
z = WorksheetFunction.CountIf(Sheet1.Range("E3:E805"), C)
If x > 0 Then
C.Offset(0, 1) = xx
ElseIf x = 0 And y > 0 Then
C.Offset(0, 1) = yy
ElseIf x = 0 And y = 0 And z > 0 Then
C.Offset(0, 1) = zz
ElseIf x = 0 And y = 0 And z = 0 Then
C.Offset(0, 1) = AA
End If
Next
Application.ScreenUpdating = True
End Sub

 

  • Like 1

شارك هذه المشاركه


رابط المشاركه
شارك

عزيزى الاستاذ  shreif mohamed

انا للتوضيح اكثر هذه اكواد عملاء 

وفى العمود a وهى التى اريد النتائج امامها

بحيث العميل الذى اشترى منى خلال هذا الشهر فى العمود c فهو يعتبر عميل متحرك

والعميل الذى لا يتواجد كوده فى العمود c وموجود فى d  فهو لم يشترى هذا الشهر اول شهر له بدون حركه

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

 

اما عن التكرارا فالمهم هو العمود الاول فهو يعنى انه تحرك فى الشراء لهذا الشهر

اما ان تكرر فى العمود للشهر السابق فلا يهم

 

وموضح مثال لذلك بالملف المرفق

55.xlsx

شكرا استاذ / زيزو العجوز

 

ولكن الكود لم يعمب واليك الصور المرفقه

لو امكن تطبيق الكود وارسال الملف جاهزا اكون فى غاية الشكر

002.bmp

شارك هذه المشاركه


رابط المشاركه
شارك

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

اليك الملف فقط اضغط على الزر

اذا اردت ان يعمل معك الكود الى آخر صف حتى فى حالة عدم وجود بيانات بالعمود  C

قم بالغاء هذا السطر من الكود

If C.Offset(0, 2) = "" Then Exit Sub

 

الشرح هنا.rar

شارك هذه المشاركه


رابط المشاركه
شارك
26 دقائق مضت, زيزو العجوز said:

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

شكرا اخى الكريم / 

زيزو العجوز

 

هذا هو المطلوب بعينه

شكرا على مجهودك الرائع كم انت عبقرى

شارك هذه المشاركه


رابط المشاركه
شارك

شكرا استاذ / زيزو العجوز

 

هل من الممكن تعديل الكود لاجراء بعض التعديلات 
فمثلا انا اريد ان تظهر النتائح اسفل الحركه فى العمود F

كما انه يزيد فى هذا الملف التالي

 الاساس هم العملاء فى العمود  B 

تظهر النتائح اسفل الحركه فى العمود F

اكواد العملاء المتواجدون فى العمود G يكتب متحرك هذا الشهر

اذا لم يتواجد كود العميل فى العمود H يكتب اول شهر بلا حركه

اذا لم يتواجد كود العميل العمود I يكتب ثاني شهر بلا حركه

اذا لم يتواجد كود العميل فى العمود J يكتب ثالث شهر بلا حركه

اذا لم يتواجد كود العميل فى G H I J يكتب مستمر بلا حركه

اخيرا تصفيه العملاء متحرك هذا الشهر اسفل القائمة

على ان تكون التصفيه حسب الحركه اولا ثم كود العميل 

مع عدم المساس بالمسلسل عند التصفيه

مع جزيل الشكر مقدما

العملاء الغير متحركين.xlsx

تم تعديل بواسطه mubcom

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

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

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان


  • المتواجدين الان   0 اعضاء متواجدين الان

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

×