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

أسامة البراوى

الخبراء
  • Posts

    157
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    2

كل منشورات العضو أسامة البراوى

  1. السلام عليكم يبدو ان هناك اسم غير معرف فى الدالة عرفه وجرب
  2. أخى العزيز ياسر موضوع استخدام Integer أو Long بيكون حسب البيانات المطلوبة كما بالجدول التالى .. ويفضل لو كان حاجة خفيفة تستعمل الأخف وهو Integer الكلام ده مش بيفرق كتير هنا لكن لو ها تبنى قاعدة بيانات كبيرة بالاكسس او احدى برامج البيانات الاخرى بيقرق كتير لأنه بيحجز مساحة لكل حقل بيانات حسب المتغير المطلوب منه يعنى مثلا لو قاعدة بيانات بها من النوع Integer هاتكون المساحة/ الحجم المطلوب لقاعدة البيانات نصف المطلوب للمتغير Long عن كل سطر من البيانات VB Alias Size Range Integer 32 bits (4 bytes) -2,147,483,648 to 2,147,483,647 Long 64 bits (8 bytes) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
  3. السلام عليكم بعد إذن أساتذتنا الافاضل، ولإثراء الموضوع من منظور مختلف ياريت لو تجرب الكود ده .... والفرق بينه ومبين ما سبق انه بمجرد ما تعمل له تشغيل يقرا العدد المطوب من الخلية المجاورة ثم يقوم بادراج عدد التكرارات المطلوب دون التأثير على ما اسفله من بيانات تكرار بناء على عدد OB.rar Sub RepeatCellValue() Dim I As Integer Dim A A = ActiveCell.Offset(0, 1).Value If IsNumeric(A) Then For I = 1 To A ActiveCell.Copy Selection.Insert Shift:=xlDown Next Application.CutCopyMode = False End If End Sub تكرار بناء على عدد OB.rar
  4. السلام عليكم موضوع ربط الاكسل بالفيجيوال موضوع جميل. بس انا ليا وجهة نظر من خلال خبرتى فى التعامل مع الموضوع ده وهو ان الإكسل ليس هو الحل الامثل للتعامل مع الفيجيوال كقاعدة بيانات فهناك العديد من قواعد البيانات اسهل منه فى التعامل واقربها الى منتدياتنا هنا هو الأكسيس ويمكن الاستعانة فى تلك المرحلة بالاكسل كمستعرض جيد للتقارير وده كنت عملته قبل كده فى برنامج خاص قاعدة بياناته أكسس وتقاريره على الإكسل والورد بصراحة التعامل مع الفيجوال وبخاصة فى المواضيع اللى بتتعامل مع بيانات كتيره وكذلك تعدد المستخدمين فى نفس الوقت اريح بكتير. وانا بتراودنى نفس الفكرة اللى طرحها الأستاذ العزيز ياسر ابوالبراء ولكنها فكرة قسم جديد هنا فى المنتدى للفيجوال دوت نت (مستقل عن الاكسل) وحاليا مايكروسوفت منزلة الاصدار 2015 مجانى لكن القسم ده طبعا محتاج متخصصين ومحترفين لمساعدتنا فيه الا إذا بدأنا كلنا مع بعض نتعلم ونزود بعض .... على فكره كل اللى عنده فكرة عن الفورم والبرمجة فى الاكسل ممكن يبدأ بسهولة لانها نفس الفكرة لكن الجديد هو عندما نتعامل مع البيانات هنحتاج شوية أكسس وشوية SQL , وكمان لما ها يبقى القسم مستقل هايكمل بزيارات خبراء من قسم الاكسس يساعدونا ونتعلم كلنا لو موافقين على القسم ده خلونا نرفع للادرة رغبتنا فى فتحه ونبدأ مع بعض نتعلم ونتعاون فى تنمية مهاراتنا مع بعض واظن انه هيكون مفيد للجميع.
  5. السلام عليكم أخى العزيز الصقر .. بالنسبة لطرق ملء الكمبوبوكس عن طريق المصفوفات ، انت كنت كتبت الكود ده Private Sub UserForm_Initialize() Dim a As Variant a = Array("سند قبض", "سند صرف") For i = LBound(a) To UBound(a) ComboBox1.AddItem a(i) Next End Sub وملاحظتى اننا من الممكن ان نستغنى عن الدوائر التكرارية ونعملها فى خطوة واحدة وفى الحالة دى هنوفر وقت كتير لو كانت المصفوفة كبيرة Private Sub UserForm_Initialize() Dim a As Variant a = Array("سند قبض", "سند صرف") ComboBox1.List = a End Sub
  6. السلام عليكم الاخ العزيز .. الصقر اثناء تصفحى لشروحاتك الجميلة فى هذا الموضوع وشرحك للمربع النصى استوقفنى الجملة التالية: *** الاختيار رقم 3 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى واخر افقى بصراحه حاولت استخدمه لكن لم يظهر معى بشكل افقى وراسى وتفسير ذالك هى الخاصيه Multiline لانها تحمل خيارين اما الادخال يكون على سطر واحد وبالتالى فان الاسكرول بار الرأسى لا يوجد له فائده وأما الادخال على عدة اسطر متتاليه وبالتالى ان الاسكرول بار الافقى لي له فائده هذا والله اعلم ( مش عايز افتى فى شئ لا اعلمه واترك الامر للخبراء ) السكرول الأفقى له فائدة فى الأسطر المتعددة .. MultiLine ولكن لا تظهر هذة الفائدة الا إذا كانت الخاصية الأخيرة من خصائص صندوق النص وهى WordWarp غير مفعلة False فى الحالة دى لو انت كاتب سطر اطول من عرض المربع النصى مش ها يظهر باقى السطر ولا حتى السكرول الافقى .. ولكن عند الضغط داخل النص للتحرير يظهر السكرول الافقى الذى يمكنك من مشاهدة باقى السطر انما لو كانت True فإن السطر الطويل بيكمل فى اللى بعده وفى الحالة دى لن يظهر السكرول الافقى لعدم الحاجة اليه
  7. السلام عليكم اخوانى اعضاء المنتدى واساتذة الأكسل الأجلاء لفت انتباهى اثناء مشاركتى فى الردود أو قراءة البرمجيات او الشروح الجميلة لبعض الأساتذة الاجلاء عدم الاهتمام بالتسميات المناسبة ولى رأيي فى هذا الموضوع وهو ما قرأته فى العديد من كتب ومراجع البرمجة واتمنى إذا أعجبكم ان تطبقوه وتحدثوا شروحاتكم المتعلقة به مثلا لكل كود برمجى يفضل ان يكون اسم الكود معبرا عن وظيفته مثل "Move_Data" "Get_Data" ...... بما يسهل على من يتابع الاكواد أو يتعلم منها معرفة الوظيفة مبدئيا لكل كود وايضا عند استعمال الفورم من الافضل ان تغير من مسميات عناصر الفورم وفى هذة الحالة يجب ان يتكون الأسم من جزئين الجزء الأول بادئة مختصرة تعبر عن نوع الكنترول مثل txt للتعبير عن textbox او cmd للتعبير عن commandbutton اما الجزء الثانى فيعبر عن محتوى او وظيفة هذا العنصر مثل ان يكون هناك txtFirstName ، للتعبير عن انها تحتوى الاسم الاول مثلا ، وكمثال اخر cmdUpdateData للتعبير عن زرار cmd وظيفته تحديث البيانات أو cmdClearText هو زرار لتنظيف الحقول النصية وهكذا (تخيل انك لديك العديد من عناصر التحكم TextBox1 , TextBox2 ,TextBox3 , ,jv وتريد ان تعرف ايهما يمثل الاسم الاول و أيهما الاسم الاخير .... اثناء كتابة الكود وبدون ان تنظر الى الفورم ...... وحتى إذا أضفت شكل مربع او دائرى فى شيت الاكسل يجب تطبيق نفس القواعد للدلالة على وظيفته والرابط المدرج به قائمة بالبادئات المفضلة لعناصر التحكم https://msdn.microsoft.com/en-us/library/aa263493(v=vs.60).aspx ما الفائدة : الفائدة فى التقيد بهذة البادئات هو انك عندما تستعملها إضافة الى الوظيفة تسهل على كل من يقرأ البرمجية ان يفهمها بسرعه ويتابع التعديل فيها كطاقم عمل وذلك حالنا هنا فى المنتدى فريق واحد فيجب ان نتكلم لغة واحدة يسهل للجميع فهمها من اول لحظة.
  8. السلام عليكم الاستاذ العزيز ابراهيم ابو ليلة .... بارك الله فيك شرح جميل وشيق وسلاسة فى التدرج بالمعلومة ليا طلب صغير (منك او من أحد المشرفين على القسم) ارجو فتح الموضوع من جديد او ترحيل تعقيبات وتعليقات شكر الأخوة الأعزاء فى موضوع مستقل ... بصراحة المعلومات القيمة يجب ان تتسلسل بدون مقاطعة لتفادى التشتيت... كما سبق ان عمل ذلك الاخ العزيز الا ستاذ ياسر ابو البراء فى موضوع افتح الباب وادخل لعالم البرمجة وكذلك الاستاذ حسام عيسى فى موضوعه النشط حاليا عن تصميم الفورم سلسلة علمنى كيف اصطاد ( الفورم ) Forms وتثبيت هذة الموضوعات فى قسم دورات الإكسل
  9. اتفضل انا كملت على الملف اللى ارسلته لك بالامس لان الملف اللى انت بعته لا يعمل جيدا اما استدعاء الماكرو فيكون من خلال Ctrl+q BBB.rar
  10. السلام عليكم مرفق الحل للترحيل مع ترك صفوف فارغة وكمان حل لو عايز تضيف فاصل طباعة قبل كل مجموعة لكن موضوف الفورمات اللى انت ببتكلم عليه مش واضح .. لو عايز الالوان وخلافه ليها طريقة اما لو عايز "عرض الأعمدة" او ارتفاع الصفوف ده ليه حل تانى. aaaa.rar
  11. اتفضل الحل مع انه فى ملفك الاصلى كان صعب حد يحلها اليوم (لان المجال المحدد تحت الاسم TAREK كان ناقص سطر عند يوم 18/10/2015 وكان مش بيقرا تاريخ اليوم ده ) جرب الكود For Each Rng In Range("TAREK").Areas If Cells(Rng.Cells(1, 1).Row - 1, Rng.Cells(1, 2).Column) = CVDate(Date) Then Rng.Cells(1, 1).Select End If Next و عندى اقتراح انك تضيفه بنهاية الكود Worksheet_Change ,وفى الحالة دى هيرجعك لتاريخ اليوم اول ما تقف على اى خلية فى الشيت. تاريخ اليوم --.rar
  12. اتفضل المطلوب: تم عمل التعديلات الاتية: 1- بعض التعديل على كود الترحيل للتأكد من (عدم تكرار رقم الفاتورة - قيام المستخدم بملء البيانات بالكامل - تنظيف الفورم بعد الترحيل) وترحيل ارقام الفواتير المدخلة الى شيت مستقل 2- إضافة شيت مخصوص لعملية الاستدعاء والتعديل والحذف مع تعديل كود الاستدعاء ليكون حسب رقم الفاتورة فقط Accounting.rar
  13. السلام عليكم اولا : الله يكرمك تانى مرة بلاش الالوان الفاقعة دى احسن عينى وجعتنى عقبال ما خلصت لك جزء من طلباتك ثانيا : موجود بالمرفق الجزء الاول من الحل وهو نقل بيانات اصحاب ال 20 رقم قومى الموجودين فى العمود ِA من A8 الى A27 حسب العمود B الى ورقة المستحقون (فلتر عن طريق المصفوفات ..... الله يبارك فى أخى العزيز ياسر ابو البراء اللى عمل لنا محاضرات مخصوصة فيها ) ( ماذا تعنى بترك 6 صفوف فارغة (فى اول الشيت ولا فى اخره ولا بعد كل اسم) بالعمود B2 لكل 20 اسم مع ترك عدد 6 صفوف فارغة الى ورقة " المستحقون" ثالثا : نفذت طلبك التانى بنقل البيانات من من "المستحقون" الى "البرنامج" مع رسالة تأكد والباقى مش فاهمه ولو عايز حاجة تانى أعد طرح الموضوع من جديد مع طلباتك الجديدة علشان نتلافى ال 12 بوست بتوع الرفع ob.rar
  14. استاذ صلاح ليا استفسار صغير: هى ارقام الفواتير عندك ليه مش موحدة .... ولا كل منطقة شغالة مع نفسها .... وكمان كل فرع شغال بفواتير لوحدة .... بس لو كده برضه يبقى أكيد مش هنحتاج اسم العميل الموضوع فقط انى حاولت اجرب استدعاء الفاتورة لقيت الموضوع صعب جدا (على مستخدم الملف) لوجود العديد من الفلاتر انا باناقشك فى الفكرة نفسها فى الوقت اللى باحاول احلها لك لكن لو اختصرت الفلاتر ممكن يبقى الموضوع اسهل بكتير
  15. السلام عليكم الاخ احمد رمضان انا شايف ان الأستاذ ياسر رد عليك فى المشاركة دى .... ياترى جربت النسخة دى وما اشتغلتش لو ما اشنغلتش طيب جرب الاصدار التانى من المكتبة ... على الرابط ده واظن ده ها يشتغل معاك http://www.officena.net/ib/topic/62386-تابع-المشروع-الكبير-مكتبة-الصرح-زاخرة-بالشرح-النسخة-المجددة/
  16. السلام عليكم المشكلة عندك فى السجل التانى والتالت انك لم تغير مصدر الصف فى الخلايا من $C$1 {=TRANSPOSE(OFFSET(data1!$P$1,$C$1,,1,31))} الى $C$19 {=TRANSPOSE(OFFSET(data1!$P$1,$C$19,,1,31))} و للجدول الثالث $C$37 {=TRANSPOSE(OFFSET(data1!$P$1,$C$37,,1,31))} 4444.rar 4444.rar
  17. ماشاء الله حلول وافكار جميلة من الاستاذ والاخ العزيز ياسر خليل أبو البراء وكذلك والاستاذ القدير سليم حاصبيا وبمناسبة حل الاستاذ سليم اتمنى لو يشرحلنا الية عمل المعادلة (الصفيف) اللى عملها و ياريت لو هو او احد اخواننا الاساتذة الاجلاء فى المنتدى شرحلنا تطبيقات متعددة على معدلات الصفيف لاهميتها او يدلنا على شرح مسبق موسع لهذا النوع من المعادلات وتقبلوا تحياتى
  18. السلام عليكم الملف شغال بس انت عامله مختفى "hidden" الغى الاخفاء واعمل له حفظ وهو يشتغل تمام لما تفتحه تانى
  19. السلام عليكم الفكرة جميله وتنفع فى جدولة الأعمال او اعياد الميلاد لكن فيها خطأ برمجى صغير فى السطر expd = Worksheets("Notifications").Range("A2") المفروض انه يقرا من الخلية A1 فى الشيت Main expd = Worksheets("Main").Range("A1") وكمان تبقى افضل لو حدد ادنى للتاريخ انه ما يكونش اقل من تاريخ اليوم لانى لاحظت انه جايب لى تنبيهات من سنة فاتت بتغيير السطر التالى If (.Cells(irow, 7) - MyDate) <= expd Then الى If (.Cells(irow, 7) - MyDate) <= expd And (.Cells(irow, 7) - MyDate) > -1 Then تنبيهات 1.rar
  20. يعنى انت عايز تصدرها الى ملفات اكسل منفصلة طبعا تنفع ولكن باجراءات مختلفة شوية واسهل من ا الورد طبعا. ده لو انا فهمتك صح ايعت نموزج الاستبانة على الاكسل وانا اعلمك الكود
  21. السلام عليكم هل تستعمل pivot tables فى جلب البيانات
  22. إن لله وإن إليه راجعون اللهم إغفر له وإرحمه وسامحه وأدخله فسيح جناتك
  23. ربنا يكرمك وشكرا على مرورك
  24. السلام عليكم تجد مرفقا الحل المطوب وشرحه كالتالى حتى يمكنك التعديل فيه 1- يجب ان تتضيف علامة مرجعية Bookmark لكل حقل تريد إضافته فى الملف الأصلى 2- يقوم البرنامج بعمل ملف أو عدة ملفات حسب اختيارك ,ويتم تسميته بحسب ال ID 3- لكى تقوم بتصدير بيانات أخرى غير الموجودة تقوم باضافة أو تعديل الأسطر التالية واضافة رقم العمود المحتوى عى البيانات MyDoc.Bookmarks("Orphan_Age").Range.Text = myBook.Sheets(MySheet).Cells(MyRow, 6) حيث Orphan_Age هو اسم المرجع والرقم 6 يعبر عن رقم العمود File_OB.rar
  25. السلام عليكم برجاء ارفاق نموذج للبيانات وملف الورد المطلوب؟
×
×
  • اضف...

Important Information