أكاديمية الصقر للتدريب

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

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز
المشرف المتميز
المراقب المتميز
المدير المتميز
الموضوع المتميز
القسم المتميز
بكار للأبد Eslam Abdullah لا تميز خلال هذه الفترة YasserKhalil الداله الجديده المعرفه alsqrdate - حسام خطاب اكسيل اسئله واجابات



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


الرئيسية
نتائج البحث


نتائج البحث عن ردود العضو :خالد
عدد النتائج (28) نتيجة
08-12-2018 08:47 صباحا
icon برنامج مرتبات الصقر - الاصدار التانى - حسام خطاب | الكاتب :خالد |المنتدى: تطبيقات محاسبيه بالاكسيل
 جزاك الله كل خير ...مبدع كالعادة
في ميزان حسناتك باذن الله
06-12-2018 06:48 مساء
icon هديتى 2019_برنامج مخزنى و دليل حسابات_ECO2_DuClick_store_ بفورم بحث و اضافه | الكاتب :خالد |المنتدى: اكسيل مشاريع جاهزه
 
جزاكم الله خيرا


 

05-12-2018 03:48 مساء
icon سلسلة دروس مستفادة عن فيجوال بيزك اكسل _ الحلقة الأولى | الكاتب :خالد |المنتدى: قسم السلاسل والدورات التدريبية
 بارك الله فيكم

 
05-12-2018 03:25 مساء
icon موضوع مميز_ازرار وايقونات للماكرو_عدة تصماميم | الكاتب :خالد |المنتدى: اكسيل مشاريع جاهزه
 جزاك الله خيرا
 
30-11-2018 04:56 مساء
icon هديتى 2018_برنامج حسابات و ميزان مراجعه_ECO2_ دبل كليك 2018_G_adham | الكاتب :خالد |المنتدى: اكسيل مشاريع جاهزه
 جزاكم الله خيرا
17-11-2018 03:26 مساء
icon الاصدار الأول لشيت المرتبات الاوتوماتيك - حسام خطاب | الكاتب :خالد |المنتدى: تطبيقات محاسبيه بالاكسيل
 ذادك الله من فضله
13-03-2018 08:28 صباحا
icon داله معرفه AlsqrRDup لجلب القيم الفريده الغير مكرره - حسام خطاب | الكاتب :خالد |المنتدى: اكسيل مشاريع جاهزه
 جزاك الله خيرا علي ما تقدمه  لنا من علم ....شكرا لك
21-09-2017 04:04 مساء
icon استدعاء بيانات فاتوره في فورم | الكاتب :خالد |المنتدى: اكسيل اسئله واجابات
 
الموضوع بسيط جدا 
مش عارف ليه دايما بيحصل معايا كدا... سبحان الله
انا عايز اعمل مثل الملف المرفق في هذه المشاركة... بأن يطبق على ملفي الاول
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
21-09-2017 03:51 مساء
icon استدعاء بيانات فاتوره في فورم | الكاتب :خالد |المنتدى: اكسيل اسئله واجابات
 
المشاركة الأصلية كتبت بواسطة: YasserKhalil »
أخي الكريم خالد
قم بطرح موضوع جديد وارفق ملف وفيه الكود المطلوب تطبيقه .. واذكر ما هي المشاكل التي واجهتك في تطبيق الكود
بخصوص البحث يوجد موضوع في قسم الدروس والحلقات للبحث يمكنك الاستفادة منه
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

للأسف اخي ياسر لم تفهم مطلوبي mad_1
وأيضا انا لا اريد أكواد للبحث sad
21-09-2017 10:25 صباحا
icon استدعاء بيانات فاتوره في فورم | الكاتب :خالد |المنتدى: اكسيل اسئله واجابات
 
المشاركة الأصلية كتبت بواسطة: Yasser Elaraby »

قمت بحذف المشاركات الخارجة عن الموضوع
ان شاء الله نشوف حل لطلبك
142




المشاركة الأصلية كتبت بواسطة: خالد »
هذا هو الكود الذي حاولت أن اطبقه
مع انه مشروح سطر سطر.... لكن للأسف مش عارف اطبقه



Private Sub ComboBox14_Change()
'بحث كومبوبكس / باقشيري
'=====================================
'نقوم بوضع بعض المتغيرات والمعطيات التي يعمل الكود علي اساسها
'وستكون اساس العمل للكود
'=====================================
'متغير لتحديد آخر صف به بيانات
Dim LR As Long
'متغير لاستخدامه في البحث عن قيمة الكومبوبكس لايجاد قيمته
Dim Mh As Long
'متغير لعد الصفوف التي بها البيانات المطابقة لقيمة الكومبوبكس
Dim iCont As Integer
'متغير رقمي يعبر عن صفوف الفاتورة
Dim r As Integer
'متغير رقمي يعبر عن اعمدة الكونترولات في الفاتورة
Dim c As Integer
'متغير رقمي لقيمة الكومبوبكس المستخدم في الاستعلام
Dim ii As Double
'=========================================================
'بعد ان قمنا بوضع المتغيرات كما تم ذكره
'=========================================================
'في السطر التالي نضع احد المعطيات لتعريف احد المتغيرات السابقة
'Dim ii As Double حيث تم وضعه كمتغير بهذا الشكل ii  وهو هنا قيمة
'ii = يساوي  ii لنحدد يه انه اجعل المتغير
' Me.ComboBox2.Value قيمة الكومبوبكس 2 المستخدم في الاستعلام
ii = Me.ComboBox14.Value
'==================================
'نستدعي اولا كود مسح البيانات من علي الفورم
'ويمكن وضع اسم الكود فقط لاستدعائة
'قبل اسم الكود لاستدعائه ايضا CALL ويمكن وضع كلمة
'Call KH_ClearControl ليكون بالشكل
'بدلا من الشكل المستخدم في السطر التالي
KH_ClearControl
'==================================
'ونستخدمها في حالة اردنا With نقوم بوضع معادلة او جمله
'وضع اكثر من شرط لاي كائن فورم مثلا او ورقة في ملف
'Sheet1 وهنا نستخدمها لوضع بعض المعطيات في ورقة العمل
'End With ويجب ان تنتهي هذه الجمله بـ
'نقول في شيت 1
With Sheet2
'Dim LR As Long وتم وضعه بهذا الشكل في البداية LR قمنا في البداية بوضع متغير يسمي
'بالاضافة الي صف اي +1  A وذلك للحصول علي اول سطر فارغ في العمود
    LR = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
'Dim Mh As Long بهذا الشكل  Mh قمنا في بداية الكود بوضع متغير
'تساوي وظيفة او معادلة Mh وفي السطر التالي نقول انه اجعل
'للبحث عن قيمة الكومبوبكس Match كالستخدمة تماما في الاكسيل العادي باستخدام دالة
'Vlookup وبمعني آخر كما نقوم باستخدام مثلا معادلة البحث
'Mh = تساوي  Mh حيث نقول في هذا السطر ان
'WorksheetFunction.Match وظيفه البحث عن القيمة المطابقة
'(ii,  نقصد بهذا الجزء قيمة الكومبوبكس المستخدم في البحث او الاستعلام
'.Range("A9:A" & LR), 0) للبحث في النطاق الذي نحدده وهو هنا
'من بداية الصف رقم 9 وحتي نهاية العمود ويتم تحديد رقم صف البداية A العمود
'حيث نحدد مكان الرقم 9 صف البداية لدينا "A9: في هذا الجزء
'المطوب البحث من بديته
'ثم نضع بعد المعادلة عدد الصفوف اعلي الصف المحدد لبداية البحث
' + 8 وهي هنا في مثالنا عدد 8 صفوف كما في هذا الجزء من السطر
    Mh = WorksheetFunction.Match(ii, .Range("A1:A" & LR), 0)
'Dim iCont As Integer بهذا الشكل  iCont قمنا في بداية الكود بوضع متغير
'تساوي وظيفة او معادلة iCont وفي السطر التالي نقول انه اجعل
'لعد القيم المطابقة  CountIf كالستخدمة تماما في الاكسيل العادي باستخدام دالة
'لقيمة الكومبوبكس بعد البحث عنها
'iCont = تساوي  iCont حيث نقول في هذا السطر ان
'WorksheetFunction.CountIf وظيفه العد بعد البحث عن القيمة المطابقة
'وذلك بتحديد النطاق المطلوب عد النتائج فيه وهو هنا
'(.Range("A9:A" & LR) من بداية الصف التاسع الي نهاية العمود A العمود
', ii) لما يطابق لقيمة الكومبوبكس المستخدم للبحث او الاستعلام
    iCont = WorksheetFunction.CountIf(.Range("A1:A" & LR), ii)
'كما تم الشرح في بداية الجمله انها يجب ان تنتهي بهذا السطر With نهاية جمله
End With

'لاحضار عدد الصفوف المطابقة للبحث For نستخدم جمله
'ويتم استخدام ذلك للعد حيث ان بيانات صفوف الفاتورة في الاسفل
'CountIf يمكن لها ان تكون من صف واحد الي خمسة صفوف وبالتالي نستخدم معادلة
'وذلك لعد الصفوف المطابقة للبحث وبذلك نضع جمله الوران لتبدأ
'من اول نتيجة تم الحصول عليها الي آخر قيمة تم عدها
'1 To iCont كما في هذا الجزء من السطر التالي
'Dim r As Integer والذي تم تعريفة في البدية بهذا الشكل r وذلك باستخدام المتغير
For r = 1 To iCont
' وذلك لتحديد عدد صفوف الفاتورة For نستخدم جمله
'c حيث انهم في مثالنا خمسه صفوف ويتم ذلك عن طريق استخدام المتغير
'Dim c As Integer والذي تم تعريفه في بداية الكود بهذا الشكل
    For c = 1 To 2
'Adr = في السطر التالي نضع عنوان الكونترولات وكما سبق القول كما يتم ذلك في الخلايا
'Cells(r, c).Address(0, 0) وذلك بتحديد الكونترولات من صفوف واعمدة كما تم تعريفها
    Adr = Cells(r, c).Address(0, 0)
'نقوم بتحديد الكونترولات المراد اظهار قيمتها بعد البحث وذلك بانها
'Me.Controls(Adr).Value تساوي قيمةالكونترولات لدينا
'وللتذكير كما سبق تسمية التكستات باسماء الخلايا
'Sheet1 نحدد اولا الشيت المراد الترحيل اليه في السطر التالي وهو هنا
'G ثم نحدد العمود المطلوب احضار البيانات من بدايته وهو هنا العمود
'Match وذلك حتي نهاية بحث الدالة المستخدمه لذلك وهي
'Mh والتي تم تعريف متغيرها باسم
'.Range("G" & Mh) ليكون بهذ الشكل
'ثم نحدد ان تظهر النتائج في تكستات التي تم تعريف
'r و c  اعمدتها وصفوفها علي انها
'.Cells(r, c).Value التي تم العثور عليها بهذا الجزء
    Me.Controls(Adr).Value = Sheet2.Range("B" & Mh).Cells(r, c).Value
'For نهاية جمله الاولي
 Next
'For نهاية جمله الثانية
 Next
'نضع سطر اضافي لوضع لمسة جمالية لعمل الفورم
'وكذلك لمنع ترحيل البيانات مرة اخري لعدم وجود خطأ بعد ذلك
'حيث ان هذا الكود مستخدم للاستعلام فقط ولكي لا يتم ترحيل البيانات
'التي تم الاستعلام عنها والحصول عليها مرة اخري لعدم حدوث اخطاء
'حيث انه في حالة الاستعلام عن فاتورة يتم اغلاق زر التسجيل
'نضع السطر التالي لايقاف هذا الزر لتسجيل البيانات الجديدة
'CommandButton1.Enabled = False
'انهاء مهمة الاستعلام بالكامل
End Sub
'هذا الكود هو كود لمسح البيانات ويعمل بنفس طريقة الكود السابق ولكن
'بالطريقة الخبورية الخااااااالصة
Private Sub KH_ClearControl()
'كود لمسح بيانات الفورم
'============================
'نقوم بوضع بعض المتغيرات والمعطيات التي يعمل الكود علي اساسها
'وستكون اساس العمل للكود
'==============================
'r نضع متغير رقمي باسم
 Dim r As Integer
'c نضع متغير رقمي باسم
 Dim c As Integer
'لنقوم بوضع جملة دوران لمسح البيانات في الفورمFor نضع جمله
'وسنقوم بتقسيم كونترولات الفورم من تكستات وكومبوبكس
'حيث سيكون لدينا جزئين في الفاتورة الجزء العلوي في الفاتورة
'والجزء الموجود به مكونات الفاورة والمكون من 5 صفوف
'ليكون عدد الاعمدة للتكستات في الجزء السفلي للفاتورة c نقوم بجعل المتغير
'ليكون عدد صفوف الجزء السفلي للفاتورة r نقوم بجعل المتغير
'بعدد الصفوف من الصف رقم 1 حتي الصف رقم 5 r ويقول السطر التالي اجعل
'For r = 1 To 5 كما في هذا الجزء
 For r = 1 To 2
'بعدد الاعمدة من العمود رقم 1 حتي العمود رقم 5 c ويقول السطر التالي اجعل
'For c = 1 To 5 كما في هذا الجزء
 For c = 1 To 2
'ثم نقوم بوضع معطيات الكنترولات في الفورم في الصفوف الموجودة بالاسفل
'والتعامل معها كالخلايا في صفحة الاكسيل حيث قمنا بتسمية اتكستات بوكس باسماء الخلايا
'للتسهيل في هذه العمليه في جمل الدوران
' Adr = ويتم التعامل معها كالخلايا حيث نقول ان
'اي من الاعمدة الخمسة للصفوف الخمسة c الي  r الخلايا بمعناها من
Adr = Cells(r, c).Address(0, 0)
'Me.Controls(Adr) = اجعل قيمة الكونترولات المحددة تساوي
' = "" اجعلها تساوي لاشئ وذلك بوضع هذا الجزء
'حيث ان علامتي التنصيص تعني لاشئ
Me.Controls(Adr) = ""
'For نهاية جمله الاولي
Next
'For نهاية جمله الثانية
Next
'==========================================
End Sub
Private Sub kh_New()
'نقوم بوضع بعض المتغيرات والمعطيات التي يعمل الكود علي اساسها
'وستكون اساس العمل للكود
'نضغ متغير لتحديد آخر صف به بانات
Dim LR As Long
'نضع متغير للحصول علي ادني قمية في العمود المحدد
Dim MN As Double
'نضع متغير للحصول علي اعلي قيمة في العمود المحدد
Dim MX As Double
'================================
'نستدعي اولا كود مسح البيانات من علي الفورم
'ويمكن وضع اسم الكود فقط لاستدعائة
'قبل اسم الكود لاستدعائه ايضا CALL ويمكن وضع كلمة
'Call KH_ClearControl ليكون بالشكل
'بدلا من الشكل المستخدم في السطر التالي
KH_ClearControl
'================================
'ونستخدمها في حالة اردنا With نقوم بوضع معادلة او جمله
'وضع اكثر من شرط لاي كائن فورم مثلا او ورقة في ملف
'Sheet1 وهنا نستخدمها لوضع بعض المعطيات في ورقة العمل
'End With ويجب ان تنتهي هذه الجمله بـ
'نقول في شيت 1
With Sheet2
'Dim LR As Long وتم وضعه بهذا الشكل في البداية LR قمنا في البداية بوضع متغير يسمي
    LR = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
'Dim MN As Double وتم وضعه بهذا الشكل في البداية MN قمنا في البداية بوضع متغير يسمي
'تساوي وظيفة او معادلة MN وفي السطر التالي نقول انه اجعل
'A المستخدمة في شيت الاكسيل العادي بالحصول علي ادني قيمة في العمود
'MN = تساوي  MN حيث نقول في هذا السطر ان
'WorksheetFunction.Min وظيفه الحصول علي ادني قيمة
'A ويتم تحديد النطاق المطلوب احضار ادني قيمه فيه وهو هنا العمود
'حيث يتم تحديد العمود من بداية البيانات لدينا وهي هنا الصف رقم 9
'(.Range("A9:A" ليكون النطاق في الكود بهذا الشكل
'& LR)) ولتحديد آخر صف به بيانات يتم وضع هذا الجزء بعد النطاق المحدد
    MN = WorksheetFunction.Min(.Range("A1:A" & LR))
'Dim MX As Double وتم وضعه بهذا الشكل في البداية MX قمنا في البداية بوضع متغير يسمي
'تساوي وظيفة او معادلة MX وفي السطر التالي نقول انه اجعل
'A المستخدمة في شيت الاكسيل العادي بالحصول علي ادني قيمة في العمود
'MX = تساوي  MX حيث نقول في هذا السطر ان
'WorksheetFunction.Max وظيفه الحصول علي ادني قيمة
'A ويتم تحديد النطاق المطلوب احضار ادني قيمه فيه وهو هنا العمود
'حيث يتم تحديد العمود من بداية البيانات لدينا وهي هنا الصف رقم 9
'(.Range("A9:A" ليكون النطاق في الكود بهذا الشكل
'& LR)) ولتحديد آخر صف به بيانات يتم وضع هذا الجزء بعد النطاق المحدد
     MX = WorksheetFunction.Max(.Range("A1:A" & LR))
'كما تم الشرح في بداية الجمله انها يجب ان تنتهي بهذا السطر With نهاية جمله
End With
'====================
'للحصول علي اعلي قيمة If نقوم بعد ذلك بوضع معادلة
'في العمود المحدد لرقم الفاتورة بعد الحصول علي ادني واعلي قيمة
'ليتم اختيار اعلي قيمة وادني قيمة لاستخدامها فيما يلي
If MN Then
'نقول في السطر التالي اجعل قيمة كومبوبكس 2 والخاص بالاستعلام عن الفاتورة
'Me.ComboBox2.List = بان يجعل الليست الموجود فيه او قيمته تساوي
'معادلة او قيمة العمود المحدد للحصول علي ادني واعلي قيمة
'ووضع القيم في الليست ابتداءا من ادني قيمة الي اعلي قيمة
'Evaluate("ROW(" & MN & ":" & MX & ")") ويتم ذلك بهذا الجزء في السطر التالي
'حيث يكون ليست الموجود في كومبوبكس 2 من ادني قيمة في العمود
'الي اعلي قيمة في العمود
    Me.ComboBox14.List = Evaluate("ROW(" & MN & ":" & MX & ")")
'=============
'If نهاية قاعدة
End If
End Sub





صباح الخير يا استاذ ياسر العربي
هل ممكن نطبق هذا الكود علي الفورم الخاص بي؟ ام لديك حل اخر اسهل او افضل؟؟
21-09-2017 09:29 صباحا
icon كود لتثبيت الفورم وعدم ظهور زر الاغلاق بالفورم | الكاتب :خالد |المنتدى: اكسيل اسئله واجابات
 
المشاركة الأصلية كتبت بواسطة: الصقر »

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


جزاك الله خيرا وشكرا
20-09-2017 11:35 مساء
icon استدعاء بيانات فاتوره في فورم | الكاتب :خالد |المنتدى: اكسيل اسئله واجابات
  الوقت أخدنا واحنا عندنا شغل
تصبح على خير ونكمل بكره ان شاء الله 
بس اوعي بعد الشرح ده كله وتقولي مش فاهم المطلوب 

شكلك فاهم يا نصه  laugh laugh

الصفحة 1 من 3 < 1 2 3 > الأخيرة »





الساعة الآن 03:05 صباحا

أعلن هنا
أعلن هنا
أعلن هنا