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

ارجو المساعدة فى البرنامج الحسابى


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

الاخوة الافاضل اساتذة الاكسل انا عضو بالمنتدى منذ فترة كبيرة ومتابع اعمالكم الممتازة وتعلمت منكم الكثير فى مجال عملى الوظيفى كا معلم  وعندما بدات مشروع تجارى اردت ان اعمل برنامج حسابى لحسابات العملاء 

اردت ان اكتب فى اليومية كل ماهو تم بيعة فى هذا اليوم ويقوم  البرنامج بدوره بترحيل البيانات لحساب كل عمبل مع حساب فى الصفحة الرئيسية اجمالى المبيعات  واجمالى النقدية واجمالى المديونية على العملاء  فى هذا اليوم وعند الترحيل يتم فى حساب كل عميل نفس الخطوات اجمالى المتريت الخاصة به واجمالى مادفعة وباقى المديونية ولكن ليست لليوم على المدى البعيد  وايضا اذا  قام بتسديد اى مبلغ فى اى وقت يتم خصمه من المديونية وتعليته على اجمالى النقدية التى دفعها 

قمت بتصميم البرنامج بالكود ( الميكرو ) تتبعت روحات حضراتكم وعدلت وفق متطلباتى ولكن عند التشغيل يعطينى رسالة خطأ  ارجوا المساعدة فى تعديل الكود ليسمح بالترحيل مع حذف البيانات  وترك الخانات التى بها معادلات بدون حذف فهى سوف تحذف القيم الموجودة بها  مرفق لحضاراتكم الصور لما يحدث معى وايضا الملف 

1.png

2.png

11حساب العملاء.xlsm

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

الاخ شكري

1- الخطأ في الكود عندك كلمة  xlpastevalues  انت كتبتها بدون حرف t

2-استعمال Option Explicit في أول الكود من الضروربات (هذه الخاصية لا تسمح بالأخطاء ولا تسمح بمرور اي متغير لم يتم ذكره في  Dim)

3-  لا ضرورة لان البرنامج يقوم بفحص كل خلية حتى اخر صف في الصفخة 1 العامود D اذا كانت فارغة أو لا

     اذ يكفي ان يتوقف عند أول خلية فارغة من العامود  D     ( بواسطة Do   Loop)

4-لا ضرورة لان يقوم البرنامج بتحديد الصفحة المراد التقل اليه بواسطة Sheets(x).activate    ( يمكن النقل النقل بدون تجديدها)

5- ان عملية   Copy Paste و  Select  من العمليات المرهقة لاي برنامج لذلك  قدر الامكان الابتعاد عنها 

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

6- جرب هذا الكود بدون  Copy Paste و  Select 

Option Explicit
Sub copy_salim()
    Dim My_Sh As Worksheet
    Dim First_sh As Worksheet
    Dim i%: i = 2
    Dim lr%
Set First_sh = Sheets("1")

Do Until First_sh.Range("D" & i) = ""
 Set My_Sh = Sheets(First_sh.Range("D" & i).Value)
  lr = My_Sh.Cells(Rows.Count, 1).End(3).Row + 1
  My_Sh.Range("a" & lr).Resize(, 9).Value = _
  First_sh.Range("a" & i).Resize(, 9).Value
 i = i + 1
Loop
With First_sh
 .Range("A2:E100").ClearContents
 .Range("i2:i100").ClearContents
End With
 Set First_sh = Nothing: Set My_Sh = Nothing
End Sub

 

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

الاخ الفاضل على اشكرك جدا على استجابتك وعمل الممتاز  ومجهودك جعله الله فى ميزان حسناتك  واتمنى من شخصكم الكريم اتاحة عمود الثمن لان الثمن متغير يوميا وفق للبورصة وغير ثابت  وهل من الممكن وضع كودين للترحيل فى فى نفس البرنامج ولا اعمل برنامج جديد للترحيل حسب الصنف لحساب المباع والمتبقى بالمخزن  جعله الله فى ميزان حسناتك

 

11حساب العملاء(1).xlsm

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

 يمكن عمل الكودين فقط فى حالة اذا تم فتح صفحات بإسم الصنف

ولكن انصحك بعمل ملف اخر لهذا الطلب أفضل لأنه كلما زاد من حجم الملف الواحد كلما ثقل وصعب العمل بكفاءة

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

 

11حساب العملاء(1).xlsm

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

1 ساعه مضت, ali mohamed ali said:

 يمكن عمل الكودين فقط فى حالة اذا تم فتح صفحات بإسم الصنف

ولكن انصحك بعمل ملف اخر لهذا الطلب أفضل لأنه كلما زاد من حجم الملف الواحد كلما ثقل وصعب العمل بكفاءة

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

 

11حساب العملاء(1).xlsm

احنا اتفقنا بلاش Activate   ولا Select ديه ولا لزوم لهذا السطر نهائياً

 ws.Range("A" & cel.Row).Resize(1, 9).Activate

يكفي هذا الماكرو

Sub Fixe_data()
   Dim lr%
  With Sheets(1)
  lr = .Range("A2").CurrentRegion.Rows.Count
  .Range("A2").Resize(lr, 9).Value = .Range("A2").Resize(lr, 9).Value
  End With
End Sub

او اكثر اختصاراً

Sub fix_data()
With sheets("1").Range("A1").CurrentRegion
.Value =.Value
End With
End Sub

 

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

4 ساعات مضت, ali mohamed ali said:

 يمكن عمل الكودين فقط فى حالة اذا تم فتح صفحات بإسم الصنف

ولكن انصحك بعمل ملف اخر لهذا الطلب أفضل لأنه كلما زاد من حجم الملف الواحد كلما ثقل وصعب العمل بكفاءة

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

 

11حساب العملاء(1).xlsm

الاخر الفاضل على اشكرك على التجاوب والفاعلية السريعة  وبالفعل عملت ملف اخر للاصناف اخدت ملف حضرتك وغيرت المدى ومن الD2الى C2 ,JL وتم الترحيل وفق للصنف والملف شغل ذى الفل وكان بعد الترحيل ما بيحزفش عمود الثمن اصفته وتم الحذف  ولكن رجاءا فى الصفحات اريد تجميع الوزن بالكيل مثل السعر بالجنية فى صفحات الاصناف وفى صفحات البط والكاتكيت يكون العدد بالواحدة فى خانه الوزن وكرا لحضرتك ولتفاعلك 

اصناف.xlsm

2 ساعات مضت, سليم حاصبيا said:

احنا اتفقنا بلاش Activate   ولا Select ديه ولا لزوم لهذا السطر نهائياً

 ws.Range("A" & cel.Row).Resize(1, 9).Activate

يكفي هذا الماكرو


Sub Fixe_data()
   Dim lr%
  With Sheets(1)
  lr = .Range("A2").CurrentRegion.Rows.Count
  .Range("A2").Resize(lr, 9).Value = .Range("A2").Resize(lr, 9).Value
  End With
End Sub

او اكثر اختصاراً


Sub fix_data()
With sheets("1").Range("A1").CurrentRegion
.Value =.Value
End With
End Sub

 

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

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

12 دقائق مضت, ali mohamed ali said:

 تفضل

 

اصناف.xlsm

اشكرك اخى الفاضل على باشا واشكر لك مجهودك ولكن اعزرنى محتاج الصفحات من تسمين الى موكوفى يكون كلمة الوزن بالكيلو تكون العدد وبنفس معادلة الجمع  واكون شاكر لحضرتك بمعنى الاياء التى توزن بالكيلو يكون المعادلة جمع الوزن بالكيلو اما الاياء التى تعد مثل البط والكاتكيت يكون اللفظ متغير من كلمة الوزن الى العدد مع معادلة الجمع للجميع واكون شاكر افضالك 

 

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

20 ساعات مضت, ali mohamed ali said:

لك ما طلبت

 

 

اصناف.xlsm

استاذى الفاضل الاستاذ على معزرة لى رجاء عند حضرتك بعد ما اتغلت على البرنامج وعملت له ارتباط تشاعبى  وعملت صفحة تجمع المديونية  وسجلت المديونات القديمة يدويا وجيت اسجل شغل اليوم وطلبت الترحيل اولا عمل ترحيل وحذف ما فى صفحة اليومية ولكن لم يرحل شئ الى صفحات العملاء  وثم بعد ذلك يعطنى رسالة بان الترحيل تم ولم يتم حذف شئ واثناء التسجيل كان يعطينى رسالة بعدم الحفظ لحدوث اختراق وبعد ذلك يحفظ  فرجاء مساعدتى فى حل المشكلة 

حساب عملاء.xlsm

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

تفضل اخى الكريم

كود الترحيل يعمل الأن معك

المشكلة كانت لأنك لم تغير رقم الصفحة المرحل منها وهى 1 فى الشيت الجديد المرسل منك لأن ترتيبها اصبح الصفحة الثالثة وليست الأولى كما فى الملف القديم

 

حساب عملاء.xlsm

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

22 ساعات مضت, ali mohamed ali said:

لك ما طلبت

 

 

اصناف.xlsm

استاذى الفاضل الاستاذ على معزرة لى رجاء عند حضرتك بعد ما اتغلت على البرنامج وعملت له ارتباط تشاعبى  وعملت صفحة تجمع المديونية  وسجلت المديونات القديمة يدويا وجيت اسجل شغل اليوم وطلبت الترحيل اولا عمل ترحيل وحذف ما فى صفحة اليومية ولكن لم يرحل شئ الى صفحات العملاء  وثم بعد ذلك يعطنى رسالة بان الترحيل تم ولم يتم حذف شئ واثناء التسجيل كان يعطينى رسالة بعدم الحفظ لحدوث اختراق وبعد ذلك يحفظ  فرجاء مساعدتى فى حل المشكلة 

حساب عملاء.xlsm

1.jpg

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

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.

×
×
  • اضف...

Important Information