أبوالباسل قام بنشر أكتوبر 8 قام بنشر أكتوبر 8 السلام عليكم ورحمة الله وبركاته أحاول عمل ملف إكسيل لمتابعة حساب العملاء . لاكنى أجاهد للبحث عن (Sheet) كل عميل حيث أنهم حوالي 150 عميل. ثم عرفت موضوع قناع الأدخال . كيف يمكن عمل قناع إدخل للفواتير وأخر للدفعات وأخر ل مردودات المبيعات للملف المرفق. Customers-Project-01.xlsx
حسونة حسين قام بنشر أكتوبر 9 قام بنشر أكتوبر 9 وعليكم السلام ورحمه الله وبركاته تفضل جرب هذا Customers-Project-01.xlsb 1
أبوالباسل قام بنشر أكتوبر 9 الكاتب قام بنشر أكتوبر 9 (معدل) 2 ساعات مضت, حسونة حسين said: وعليكم السلام ورحمه الله وبركاته تفضل جرب هذا Customers-Project-01.xlsb 525.36 kB · 2 downloads عفواً أخي .... لم أجد تغيير أو قناع إدخال في الملف !!! تم تعديل أكتوبر 9 بواسطه أبوالباسل
محمد هشام. قام بنشر أكتوبر 9 قام بنشر أكتوبر 9 (معدل) السلام عليكم ورحمة الله تعالى وبركاته الكود المقترح من الأستاد @حسونة حسين يشتغل بشكل جيد وينفد المطلوب مجرد اقتراح حاول وضع السطر التالي في حدث ورقة مبيعات الشهر مع ادخال بعض البيانات على اوراق العمل Private Sub Worksheet_Activate() Test End Sub في حالة الرغبة باستخدام الاكواد بدل الصيغ الموجودة على جميع اوراق العملاء ضع الكود التالي في حدث ThisWorkbook Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim lr As Long, n As Double, i As Long Dim totalD As Double, totalE As Double Dim WS As Worksheet: Set WS = Sh If InStr(1, WS.name, "عميل") = 0 Then Exit Sub If Not Intersect(Target, WS.Columns("D:E")) Is Nothing Or Not Intersect(Target, WS.Range("G6")) Is Nothing Then lr = Application.WorksheetFunction.Min(42, _ Application.WorksheetFunction.Max(WS.Cells(WS.Rows.Count, "D").End(xlUp).Row, _ WS.Cells(WS.Rows.Count, "E").End(xlUp).Row)) WS.Range("F9:F42").ClearContents n = WS.Range("G6").Value For i = 9 To lr If WS.Cells(i, "D").Value > 0 Or WS.Cells(i, "E").Value > 0 Then n = n + WS.Cells(i, "D").Value - WS.Cells(i, "E").Value WS.Cells(i, "F").Value = n End If Next i totalD = Application.WorksheetFunction.Sum(WS.Range("D9:D42")) totalE = Application.WorksheetFunction.Sum(WS.Range("E9:E42")) WS.Range("C44").Value = totalD WS.Range("C45").Value = totalE WS.Range("C46").Value = WS.Range("G6").Value + (totalD - totalE) End If End Sub واظافة الاسطر التالية اسفل كود الاستاد حسونة لحساب مجموع الاعمدة على ورقة مبيعات الشهر Dim totals(1 To 3) As Double Sh.[A1].Value = "قائمة تعاملات عملاء 6 أكتوبر حتى يوم: " & Format(Date, "dd/mm/yyyy") For i = 1 To 3 totals(i) = Application.WorksheetFunction.Sum(Sh.Range(Cells(3, i + 2), Cells(152, i + 2))) Sh.Cells(153, i + 2).Value = totals(i) Next i Customers-Project-02.xlsb تم تعديل أكتوبر 9 بواسطه محمد هشام. 2
أبوالباسل قام بنشر أكتوبر 10 الكاتب قام بنشر أكتوبر 10 11 ساعات مضت, حسونة حسين said: شغل الكود اخي إعتبرني مبتدئ في الإكسل .... موش عارف يعني إية أشغل الكود . وأنا بأفتح الملف طلب مني أفعل إعدادات المايكرو ... وفعلتها ب enable 8 ساعات مضت, محمد هشام. said: السلام عليكم ورحمة الله تعالى وبركاته الكود المقترح من الأستاد @حسونة حسين يشتغل بشكل جيد وينفد المطلوب مجرد اقتراح حاول وضع السطر التالي في حدث ورقة مبيعات الشهر مع ادخال بعض البيانات على اوراق العمل Private Sub Worksheet_Activate() Test End Sub في حالة الرغبة باستخدام الاكواد بدل الصيغ الموجودة على جميع اوراق العملاء ضع الكود التالي في حدث ThisWorkbook Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim lr As Long, n As Double, i As Long Dim totalD As Double, totalE As Double Dim WS As Worksheet: Set WS = Sh If InStr(1, WS.name, "عميل") = 0 Then Exit Sub If Not Intersect(Target, WS.Columns("D:E")) Is Nothing Or Not Intersect(Target, WS.Range("G6")) Is Nothing Then lr = Application.WorksheetFunction.Min(42, _ Application.WorksheetFunction.Max(WS.Cells(WS.Rows.Count, "D").End(xlUp).Row, _ WS.Cells(WS.Rows.Count, "E").End(xlUp).Row)) WS.Range("F9:F42").ClearContents n = WS.Range("G6").Value For i = 9 To lr If WS.Cells(i, "D").Value > 0 Or WS.Cells(i, "E").Value > 0 Then n = n + WS.Cells(i, "D").Value - WS.Cells(i, "E").Value WS.Cells(i, "F").Value = n End If Next i totalD = Application.WorksheetFunction.Sum(WS.Range("D9:D42")) totalE = Application.WorksheetFunction.Sum(WS.Range("E9:E42")) WS.Range("C44").Value = totalD WS.Range("C45").Value = totalE WS.Range("C46").Value = WS.Range("G6").Value + (totalD - totalE) End If End Sub واظافة الاسطر التالية اسفل كود الاستاد حسونة لحساب مجموع الاعمدة على ورقة مبيعات الشهر Dim totals(1 To 3) As Double Sh.[A1].Value = "قائمة تعاملات عملاء 6 أكتوبر حتى يوم: " & Format(Date, "dd/mm/yyyy") For i = 1 To 3 totals(i) = Application.WorksheetFunction.Sum(Sh.Range(Cells(3, i + 2), Cells(152, i + 2))) Sh.Cells(153, i + 2).Value = totals(i) Next i Customers-Project-02.xlsb 428.06 kB · 1 download أنا مبتدئ ... لا أعرف الأكواد ولا فين أضعها.
محمد هشام. قام بنشر أكتوبر 10 قام بنشر أكتوبر 10 اخي الكريم قد تمت إظافة الأكواد للملف مسبقا فقط قم بتفعيل الماكرو وإشتغل على الملف عادي بعد ادراج البيانات لأي عميل سيتم إظافتها في ورقة مبيعات الشهر تلقائيا 1
أبوالباسل قام بنشر أكتوبر 11 الكاتب قام بنشر أكتوبر 11 17 ساعات مضت, محمد هشام. said: اخي الكريم قد تمت إظافة الأكواد للملف مسبقا فقط قم بتفعيل الماكرو وإشتغل على الملف عادي بعد ادراج البيانات لأي عميل سيتم إظافتها في ورقة مبيعات الشهر تلقائيا السلام عليكم ورحمة الله وبركاته ليس هذا ما أردته ؟ أنا بالفعل قمت بعمل لينكات لترحيل الأرصدة لورقة مبيعات الشهر. ما أردته هو عمل (واجهة إدخال) أو (قناع إدخال) أو (Input Mask) . فلا أحتاج أن أفتح ورقة كل عميل (لصعوبة البحث عن كل عميل) . لإدخل الحركة. ففكرت في عمل واجهة إدخال للمبيعات ، و واجهة أخري لمردودات المبيعات و واجهة ثالثة للدفعات النقدية. أتمنى أكون أوضحت ما أقصده. وشاكر مجهوداتكم 1
محمد هشام. قام بنشر أكتوبر 11 قام بنشر أكتوبر 11 فكرة جميلة لاكنني أظن أنك بحاجة لتصميم الواجهات المطلوبة بالشكل الذي تريده. وان شاء الله سوف نحاول مساعدتك قدر المستطاع
أفضل إجابة رشبد قام بنشر أكتوبر 11 أفضل إجابة قام بنشر أكتوبر 11 بعد ادن الاساتدة هذه محاولة Customers-Project-01.xlsm 1
أبوالباسل قام بنشر أكتوبر 13 الكاتب قام بنشر أكتوبر 13 في 11/10/2024 at 13:39, رشبد said: بعد ادن الاساتدة هذه محاولة Customers-Project-01.xlsm 740.38 kB · 8 downloads السلام عليكم ورحمة الله وبركاته هو دة اللي كنت بأفكر فيه . ممكن أعرف بقى عملته إزاي ؟ ... وأفتحه إزاي ... لأني لما بأقفل شاشة الإدخال موش بعرف أفتحه تاني ... وبأضطر أقفل الملف وأرجع أفتحه تاني. وكمان عايز أعدل وأغير عليه شوية ليلائم الشغل أكثر... شاكر جدا لذوقك وتعبك
رشبد قام بنشر أكتوبر 14 قام بنشر أكتوبر 14 وعليكم السلام ورحمة الله كما ترى اخي الكريم قمت بتصميم يوزرفورم واضفت له اكواد vba بسيطة جدا اما بالنسبة لطلبك يمكنك انشاء زر على اي ورقة عمل وربطه بهذا الماكرو Sub show_form() UserForm1.Show End Sub 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.