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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      12

    • Posts

      13165


  2. الصـقر

    الصـقر

    الخبراء


    • نقاط

      9

    • Posts

      1836


  3. Mazen.Excel

    Mazen.Excel

    عضو جديد 01


    • نقاط

      8

    • Posts

      28


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

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

    الخبراء


    • نقاط

      7

    • Posts

      157


Popular Content

Showing content with the highest reputation on 10/20/15 in all areas

  1. الطريقه الٍسادسه :- تعبئه الكمبوبوكس باستخدام الحلقه التكراريه For Each (طريقه احترافيه) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر شاهد الصوره مثال :- مطلوب تعبئة الكمبوبوكس 1 بالبيانات المظلله باللون الاخضر هنعمل الكود التالى With ComboBox1 For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value Next End With نشرح الكود ونمشى وحده وحده ونشوف ازى تم كتابته بالسطر الاول استخدمنا With ComboBox1 يعنى بنقول للكود الشغل بتاعنا هيكون مع الكمبوبوكس 1 ( الكمبوبوكس المطلوب تعبئته ) وطبعا طالما فتحنا With يبقى لازم نقفلها بــ End With زى كدا With ComboBox1 End With السطر التانى استخدمنا الحلقه التكرارية For Each وسميت الحلقه بأسم Data (وممكن تسميها اى اسم او احرف اخرى كما يحلو لك ) Data موجوده فى اى نطاق قلتله موجود فى النطاق من A2 الى اخر خلية بها بيانات فى العمود A ( وطبعا عرفنا ازاى قبل كدا نعرف اخر صف به بيانات فى اى شيت وفى اى عمود ) وكدا الحلقه التكرارية هتبدأ تلف على كل خليه فى النطاق المذكور بدأ من الخلية A2 وطبعا لازم نقفل الحلقه بـ Next For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Next فلحلقه لما تبدأ هيكون Data = A2 Next الكود هيروح للخليه اللى بعدها Data = A3 Next الكود هيروح للخليه اللى بعدها Data = A4 Next الكود هيروح للخليه اللى بعدها وهكذا حتى يصل الى اخر خليه بها بيانات بالعمود وهى A11 كدا الحلقه بتلف بدون فائده او بالادق بدون مهمه تنفذها مجرد فقط انه بيلف انا عايز استفيد من الفه بتاعته دى فنعمل ايه هقوله وانت بتلف اعمل حاجتين خلى Data اللى هى فى اول لفه هتكون قيمتها A2 دخلها فى العمود الاول للكمبوبوكس ( ملحوظه العمود الاول فى الكمبوبوكس بيكون رقمه 0 والخليه المجاورة لها بالعمود B اللى هى B2 دخلها بالعمود الثانى بالكمبوبوكس ( ملحوظه العمود الثانى بيكون رقمه 1 ) وهكذا وهو بيمر على كل خليه بالنطاق هيعمل كدا .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value ترتيب الاعمده فى الكمبوبوكس بيدأ من 0 وكذالك ترتيب الصفوف بيدأ من 0 AddItem هى العمود رقم 0 فى الكمبوبوكس والعمود ده يساوى Data اللى هى كل خليه هتمر فيها الحلقه اللى هى اسماء العملاء بالعمود A والعمود رقم 1 فى الكمبوبوكس هو (List(.ListCount - 1, 1. هيظهر فيه كود العميل اللى بالعمود B (رقم العمود , صفوف الكمبوبوكس)List. صفوف الكمبوبوكس بتبدأ من 0 زى ما قلت علشان كدا قلت ان صفوف الكمبوبوكس - 1 **** ListCount - 1. طيب العمود رقم 1 عايزين نظهر فيه الكود اللى بالعمود B بالشيت فنعمل ايه Data.Offset(0, 1).Value= هنا استخدمنا الداله offset فى اول لفه للحلقه هيكون Data = A2 فأنا بقوله انتقل من A2 بمقدار صف 0 والعمود 1 ( يعنى ايه صف 0 يعنى نفس الصف والعمود واحد يعنى تحرك وروح للعمود B اخر شئ طبعا الكود ده وقت تنفيذه انت اللى بتحدده ولكن على سبيل المثال انا عايز اكتبه فى حدث تشغيل الفورم فيكون كالتالى Private Sub UserForm_Initialize() With ComboBox1 For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value Next End With End Sub والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد وطريقه اخرى من طرق تعبئة الكمبوبوكس الطريقه القادمه هنعرف ازاى نجلب البيانات بالكمبوبوكس دون تكرار انتظرونا تقبلوا تحياتى
    3 points
  2. برنامج محاسبي بسيط جدا لا يوجد كلمة مرور على البرمجة Alkamel.zip
    3 points
  3. السلام عليكم ورحمة الله وبركاته التنسيقات الرقمية المخصصة تنسيق الارقام السالبة باللون الاحمر ووضعها بين قوسين تقبلوا منى تحياتى وتقديرى تنسيق رقمى سالب(1).rar
    2 points
  4. ADO Connectionاستخدام الاكسيل كقاعدة بيانات عن طريق وسيلة الاتصال اعتقد ان هذا الموضوع سيعطيكم معلومة جديدة في كيفية التعامل مع الاكسل كقاعدة بيانات في البداية الطريقة تعتمد على وسيلة الاتصال Active Data Object ADO وهي وسيلة اتصال بين برنامج كتابة الاكواد و قاعدة البيانات مثلا VB.net and SQL Visual Basic and Access وهي حصرية لبرامج مايكروسوفت فقط ولكي يكون لدينا اتصال كامل يجب ان يكون لدينا Connection String وهو عنوان قاعدة البيانات التي سيتم الاتصال بها، والذي من خلاله سيكون التالي: * فتح اتصال* * جملة الاستعلام* * انهاء الاتصال* وهنا تكمن الميزة بهذه الطريقة، فجملة الاستعلام يجب كتابتها بطريقة SQL dataBase وهنا تنطبق معظم جمل SQL امثلة على الجمل select * from [data] Select Count(Customer) from [data] Select Sum(Customers) from [data] where city ='Ramallah' تعلم كتابة جمل جديدة وغيرها من الجمل التي يعرفها جيدا المبرمجون باستخدام قواعد البيانات SQL,MYSQL,Oracle اكبر فائدة لهذه الطريقة انه يمكن من خلالها تصميم واجهة برنامج على الاكسل او تصميم فورم على الاكسل وحفظ البيانات على ملف اكسل اخر بدون الحاجة الى فتحه ولاستخدام هذه الطريقة يجب تفعيل التالي Tools-References بالمرفق ملف اكسل يحتوي مثال على ما تم ذكره سابقا database.zip
    2 points
  5. اخي مبدئيا تم ايقاف ادخالك لقيمة النسبة المدفوعه وسوف تحسب عنند كتابتك للنسبه والتي ستكتب بالشكل التالي ال 25% تكتب 25 وهكذا وسوف يتم ايضا احتساب المبلغ المتبقي دون تدخلك ايضا فقد تم ايقاف ادخالك له يدويا واهي بداية لمعرفة باقي طلباتك جرب الملف وقول ملاحظاتك Drive 07.rar
    2 points
  6. جرب المرفق تحياتي اي تعديلات نحن حاضرين وزارات المحافظة_ البيانات المكررة المرحلة-444.rar
    2 points
  7. تفضل اخ احمد وجيه وبعد اذن اخي الجبيب ابوعبدالله الحلواني بما انك تستخدم اصدار 2010 قم بعمل حقل جديد في الجدول ونوع بيانات = محسوب ثم ضع التعبير التالي في مربع منشئ التعبير : IIf(Hour([time_])>=7 And Hour([time_])<=15;"A";IIf(Hour([time_])>15 And Hour([time_])<=23;"B";"C")) بالتوفيق
    2 points
  8. ماشاء الله عليك استاذ خالد الرشيدى شرح فى منتهى الجمال والروعه جزاكم الله خيرا وتقبل الله منا ومنكم صالح الاعمال اللهم امين واياكم اخى الكريم
    2 points
  9. أخي الكريم مصطفى بدون أكواد جرب الملف التالي .. تحويل الارقام.rar
    2 points
  10. السلام عليكم أخى العزيز الصقر .. بالنسبة لطرق ملء الكمبوبوكس عن طريق المصفوفات ، انت كنت كتبت الكود ده 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
    2 points
  11. فهمت طلبك حسب توضيحك اطلع على المرفق امل ان يكون به طلبك وزارات المحافظة_ البيانات المكررة المرحلة-222.rar
    2 points
  12. السلام عليكم اخوانى اعضاء المنتدى واساتذة الأكسل الأجلاء لفت انتباهى اثناء مشاركتى فى الردود أو قراءة البرمجيات او الشروح الجميلة لبعض الأساتذة الاجلاء عدم الاهتمام بالتسميات المناسبة ولى رأيي فى هذا الموضوع وهو ما قرأته فى العديد من كتب ومراجع البرمجة واتمنى إذا أعجبكم ان تطبقوه وتحدثوا شروحاتكم المتعلقة به مثلا لكل كود برمجى يفضل ان يكون اسم الكود معبرا عن وظيفته مثل "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 ما الفائدة : الفائدة فى التقيد بهذة البادئات هو انك عندما تستعملها إضافة الى الوظيفة تسهل على كل من يقرأ البرمجية ان يفهمها بسرعه ويتابع التعديل فيها كطاقم عمل وذلك حالنا هنا فى المنتدى فريق واحد فيجب ان نتكلم لغة واحدة يسهل للجميع فهمها من اول لحظة.
    2 points
  13. السلام عليكم الاستاذ العزيز ابراهيم ابو ليلة .... بارك الله فيك شرح جميل وشيق وسلاسة فى التدرج بالمعلومة ليا طلب صغير (منك او من أحد المشرفين على القسم) ارجو فتح الموضوع من جديد او ترحيل تعقيبات وتعليقات شكر الأخوة الأعزاء فى موضوع مستقل ... بصراحة المعلومات القيمة يجب ان تتسلسل بدون مقاطعة لتفادى التشتيت... كما سبق ان عمل ذلك الاخ العزيز الا ستاذ ياسر ابو البراء فى موضوع افتح الباب وادخل لعالم البرمجة وكذلك الاستاذ حسام عيسى فى موضوعه النشط حاليا عن تصميم الفورم سلسلة علمنى كيف اصطاد ( الفورم ) Forms وتثبيت هذة الموضوعات فى قسم دورات الإكسل
    2 points
  14. الاخوة الافاضل فى هذا الصرح العظيم اتعلمت من اوفيسنا دائما روح الابداع والابتكار والبحث عن ما هو جديد ومفيد فدائما نبحث عن ما هو جديد حتى وان فشلنا فيكفينا شرف المحاوله ومن هذا المنطلق جاء فى بالى فكره وهى عمل تفقيط ولكن بالمعادلات مرفق ملف يمكنك كتابة اى رقم من 1 الى 1000 وشاهد التفقيط بالعربى وجارى تطوير المعادله لتشمل ارقام ما بعد 1000 ولكن حاليا هذه المعادله ممكن تنفع الاخوة المدرسين اللى بيحتاجو تفقيط درجات الطلاب بالشهادات هى تناسبهم جدا ولا يحتاجون الى تفعيل الماكرو ويكون ملف اكسيل عادى امتداد Xls حتى لا اطيل عليكم اتركم مع الملف ومنتظر اقتراحاتكم وارائكم ودعاوتكم اللى مقدرش استغنى عنها تقبلوا تحياتى تفقيط بالمعـادلات.zip
    1 point
  15. الأخوة الأعزاء أثناء تصفحى للإنترنت وجدت هذا البرنامج والذى قد يكون مفيداً للبعض وهو إسمه Translation of names لتحويل الاسماء من اللغه العربيه للإنجليزية والعكس وللأمانة فهو منقول من أحد المنتديات ولا أنسب شيئاً إلى و صاحب هذا البرنامج أضاف طلبه التالى:- (قبل التحميل أريد منكم الدعاء لى وشكراً ويارب يعجبكم البرنامج) لتحميل البرنامج: http://up.g4z4.com/d...715a84.rar.html أخوكم عيد مصطفى
    1 point
  16. حدد فقط الصف الذي تريد اكسل يخفي لك كل شيء و لا ترى الا ما تريد بكبسة زر show_in top.zip
    1 point
  17. السلام عليكم تفضلوا التسخة 64 بيت ... كتبت الكود و جربته على ال Windows7 64bit Office10 64bit ملف للتحميل: https://app.box.com/s/cvjs3lt381ts805zu8v1uzu0ooxu4i80 الكود في ستاندر موديول Option Explicit Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Type LOGBRUSH lbStyle As Long lbColor As Long lbHatch As LongPtr End Type Private Declare PtrSafe Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As LongPtr, ByVal hMenu As LongPtr, ByVal hInstance As LongPtr, lpParam As Any) As LongPtr Private Declare PtrSafe Function DestroyWindow Lib "user32" (ByVal hwnd As LongPtr) As Long Private Declare PtrSafe Function FillRect Lib "user32" (ByVal hdc As LongPtr, lpRect As RECT, ByVal hBrush As LongPtr) As Long Private Declare PtrSafe Function GetDC Lib "user32" (ByVal hwnd As LongPtr) As LongPtr Private Declare PtrSafe Function ReleaseDC Lib "user32" (ByVal hwnd As LongPtr, ByVal hdc As LongPtr) As Long Private Declare PtrSafe Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As LongPtr Private Declare PtrSafe Function DeleteObject Lib "gdi32" (ByVal hObject As LongPtr) As Long Private Declare PtrSafe Function SetBkMode Lib "gdi32" (ByVal hdc As LongPtr, ByVal nBkMode As Long) As Long Private Declare PtrSafe Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String) As Long Private Declare PtrSafe Function SetTextColor Lib "gdi32" (ByVal hdc As LongPtr, ByVal crColor As Long) As Long Private Declare PtrSafe Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As LongPtr, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Private Declare PtrSafe Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal nCmdShow As Long) As Long Private Declare PtrSafe Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long Private Const WS_CHILD = &H40000000 Private Const WS_CLIPCHILDREN = &H2000000 Private Const WS_CAPTION = &HC00000 Private Const WS_EX_TOPMOST = &H8& Private Const SW_NORMAL = 1 Private Const TRANSPARENT = 1 Private Const SM_CXSCREEN = 0 Private Const SM_CYSCREEN = 1 Private Const COLOR_BTNFACE = 15 Private bWindowExist As Boolean Public Sub Test() If Not bWindowExist Then Call ShowUpdatingMessage( _ Message:="Showing message number : ", _ Title:="Officena", _ HowManyTimes:=10, MessageDelay:=1, _ TOPMOST:=True, TextColor:=vbRed, BackColor:=vbYellow _ ) End If End Sub Private Sub ShowUpdatingMessage( _ ByVal Message As String, _ ByVal Title As String, _ ByVal HowManyTimes As Single, _ Optional ByVal MessageDelay As Single, _ Optional ByVal TOPMOST As Boolean, _ Optional ByVal TextColor As Long, _ Optional ByVal BackColor As Long) Const WIDTH = 250 Const HEIGHT = 120 Dim tRect As RECT Dim tLb As LOGBRUSH Dim t As Single Dim hBrush As LongPtr Dim hwndChild As LongPtr Dim hWndParent As LongPtr Dim hdc As LongPtr Dim iCounter As Integer On Error GoTo CleanUp ' Application.EnableCancelKey = xlErrorHandler hWndParent = CreateWindowEx(IIf(TOPMOST, WS_EX_TOPMOST, 0), "BUTTON", Title, WS_CAPTION + WS_CLIPCHILDREN, _ (GetSystemMetrics(SM_CXSCREEN) - WIDTH) / 2.2, (GetSystemMetrics(SM_CYSCREEN) - HEIGHT) / 2, WIDTH, HEIGHT, 0, ByVal 0, 0, ByVal 0&) hwndChild = CreateWindowEx(0, "STATIC", vbNullString, WS_CHILD, 0, 0, WIDTH, HEIGHT, hWndParent, ByVal 0&, ByVal 0, ByVal 0&) If hwndChild Then bWindowExist = True Application.OnKey "%{F4}", "" ShowWindow hWndParent, SW_NORMAL ShowWindow hwndChild, SW_NORMAL DoEvents hdc = GetDC(hwndChild) SetBkMode hdc, TRANSPARENT If TextColor <> 0 Then SetTextColor hdc, TextColor End If SetRect tRect, 0, 0, WIDTH, HEIGHT tLb.lbColor = IIf(BackColor = 0, GetSysColor(COLOR_BTNFACE), BackColor) hBrush = CreateBrushIndirect(tLb) For iCounter = 1 To HowManyTimes FillRect hdc, tRect, hBrush TextOut hdc, 30, 20, Message, Len(Message) TextOut hdc, 115, 50, CStr(iCounter), Len(CStr(iCounter)) t = Timer Do DoEvents Loop Until Timer - t >= IIf(MessageDelay = 0, 1, MessageDelay) Next End If CleanUp: ReleaseDC hwndChild, 0 DeleteObject hBrush DestroyWindow hwndChild DestroyWindow hWndParent bWindowExist = False Application.OnKey "%{F4}" End Sub
    1 point
  18. السلام عليكم كلام استاذ رمهان سليم جدا ولا اقصد تصحيح استاذ رمهان فالمعلومة منه راس مال هذا تعديل بناءا على نصائح الاخ رمهان واعتذر عن التقصير KK10a.rar
    1 point
  19. اخيابو يحيى1 انا عملت الموضوع لكن بالكود ارجو ان يساعدك فقط اضغط علي زر Do It مع ملاحظة عدم مسح كلمة New تحياتي Report.rar
    1 point
  20. اخ محمد شكرا لك كيف يمكنني اخذ نسخة من البرنامج
    1 point
  21. ProgressBar اضافة من المهم جدا إضافة هذه الأداة لمشروعك البرمجي تساعد المستخدم بتقدير الزمن المطلوب لتنفيذ المهمة بالملف المرفق مثال ProgressBar.zip
    1 point
  22. السلام عليكم ورحمة الله ماهذا الفن المبدع أستااذي عبد العزيز تحفة فنية أكثر من رائعة أحسستني أني أمام شاشة من الفضاء الخارجي تتحرك وطريقة تنفيذ الكود جميلة جداً بارك الله فيكم تقبلو تحياتي ومروري
    1 point
  23. في مربّع البحث والاستبدال (CTRL+H)، اضغط على زر "المزيد". في أسفل المربّع المتوسّع انقر على "خاص". ومنه اختر "فاصل أسطر يدوي". ستظهر ^l في مربّع البحث. إن أردت إزالة كلّ هذه الفواصل، فعليك إبقاء خانة "استبدال بـ" فارغة ثمّ النقر على "استبدال الكل". أما إذا أردت الاحتفاظ بالفقرات، فيمكنك أن تنقر في خانة "استبدال بـ"، ثمّ تنقر من جديد على زر "خاص" مع اختيار "علامة الفقرة" هذه المرة. ستظهر عندئذ ^p في تلك الخانة. بعد ذلك انقر على "استبدال الكل". أما إذا أردت الاكتفاء بإزالة هذا الخط الطويل ولا يهمك الإبقاء على ضبط المحاذاة، فيمكنك اعتماد طريقة الأخ hat.
    1 point
  24. السلام عليكم بارك الله فيك استاذنا ابومحمد وفعلا كل ماذكرته صحيح وانا استطيع تعديل كل ماذكرته.. و لكن المشكلة ان الانترنت منقطع ولا استطيع تحميل اي مرفقات.. فلو تكرمت استاذنا ابومحمد او اي احد من المنتدي يعدل لاخ الطالب النسخه المرفقة هي جزء بسيط جدا من برنامج كبير (لادارة المراسلات الادارية ؛والارشفة الالكترونية)في مراحله النهائية الان . ويشمل علي قيد الوارد. والصادر(خارجي- داخلي) متابعة المراسلات والتنبيه بانتهائها ويمكن انشاء ملفات رئيسية وملفات فرعية منها بعدد لانهائي الارشيف العام بالكامل بحث وتقارير متطورة للغاية نسخه احتياطية اتوماتيك عند الخروج نظام كامل الصلاحيات المستخدمين ارسال الصادر واستقبال الوارد عن طريق الشبكة المحلية داخليا واكثر من ذلك ذكرت محتوياته لكي يستفيد منه الاعضاء المهتمين بالارشفة الالكترونية تحياتي لكم جميعا
    1 point
  25. بالضبط صحيح كلامك يجب ان نضع شرط بأن لا تكون الخلية المحددة في العمود الاول شكرا لملاحظتك القيمة اشكرك شكرا لك ولك مني كل الاحترام لشخصك الكريم وانه ليس اصرار وتكرار المحاولة بقدر ماهو العمل للحصول على افضل طريقة للحل السليم والمطلوب وهذا فيديو اشرح فيه الفكرة التي قلت بأن اكسل تلقائيا يحافظ على اخر خلية محددة فيه قبل القيام بالحفظ
    1 point
  26. السلام عليكم ورحمة الله بارك الله فيك أخي مازن على هذه الفكرة الجميلة الكود يعمل عندي مئة بالمئة وجزاك الله كل خير اخي ياسر العربي على الملف الرائع ولكن يوجد به نقص لذالك أحببت أن أرفق إضافة بسيطة ومتواضعة كنت قد نشرتها وأرفقتها منذ ثلاث سنين تقريباً على الرابط التالي شريط تقدم تثبيت ونسخ البيانات.rar http://www.officena.net/ib/topic/44505-فورم-شريط-تقدم-تثبيت-البيانات-جامع-للمرونة-والسهولة/#comment-259508 وأيضاً لإثراء الموضوع وجماليته أضافات عملاقة ومبتكرة وجديدة من علمائنا واساتذتنا قد أضافوها في الموقع لكي تعم الاستفادة للجميع شاهدو الملفات المرفقة تقبلو تحياتي ومروري شريط تقدم تثبيت ونسخ البيانات.rar ProgressBarControl.rar Progressbar.rar
    1 point
  27. شكرا أستاذ ياسر طريقتك جدا جميلة انا استعملت طريقتي على اكثر من جهاز ولم احتاج الى ملف dll يبدو انه متوفر بكل بمعظم نسخ الاوفس وانا استعمله تقريبا بكل يوزر فورم اعمله فلا احتاج الا الى سطر واحد لاظهاره وسطر اكتب به القيمة التي اريدها ان تكون عند اجراء الحدث
    1 point
  28. الاخ الحبيب ابراهيم ابو ليله حفظك الله واشكرك على كلماتك الطيبه الاخ الفاضل ابو عبدالرحمن البحث كان مقترن على الاسم الاول عدلناه ع الاسم الرباعي تفضل المرفق واضافه بسيطه عند مسح البحث الحالي في المربع انقر مرتين وزارات المحافظة_ البيانات المكررة المرحلة-333.rar
    1 point
  29. أسعد الله أوقاتكم، حل السؤال كالتالي: نحدد الصف/ الصفوف المطلوب نقلها، نضغط على لوحة المفاتيح Shift + Alt ونبقى ضاغطين عليهما، ومن ثَمَّ الضغط على المؤشر لأعلى أو لأسفل، سنجد أن الصفوف ستتحرك إما لأعلى أو لأسفل. مع الاحترام والتقدير
    1 point
  30. 1 point
  31. أخي المعادلة تعمل على نفس الملف المرسل إذا أردت أن تعمل على ملفك إنسخ الكود للملف المطلوب أو إذا أردت أن تعمل في كل الملفات إنسخ الكود إلى personal file في الإكسل لك تحياتي
    1 point
  32. استاذى الحبيب / اسامه البراوى شاكر جدا اهتمامك بالموضوع واضافاتك الرائعه جزاكم الله خيرا تقبل تحياتى
    1 point
  33. اخي ياسر يجري هذا الامر لأني اخترت العمر والجنسية ونوع العمل بمعادلة عشوائية و كل شيء يصبح طبيعياً بعد تثبيت البيانات (لاحظ المعادلة في احد هذه الاعمدة من المرفق الاول) تم التعديل show_in top 2.zip
    1 point
  34. فكره جميله اخ سليم تقبل مروري
    1 point
  35. جزاك الله خيرا ونورت المنتدى
    1 point
  36. الأخ العزيز / أبو عبد الله ماجد هذا رابط الملف على الميديافير اسم المستخدم 1 كلمة المرور 1 وإذا في استفسارات يمكننا التواصل بأي وسيلة تريدها اضغط على كلمة ( بن شهاب ) في الورقة الرئيسية من أجل التواصل والعفو إدارة الصفوف الأساسية
    1 point
  37. السلام وعليكم استاذى الحبيب / محمد الريفى عمل رائع كالعادة .. وفقكم الله لما فيه الخير دائما واذا سمحت لى .. سأعرض اسلوب اخر لشرح فكرة الفيديو علها تمثل اضافة ولاننا استخدمنا الدالة Match .. نتذكرها معاً
    1 point
  38. السلام عليكم الاخ العزيز .. الصقر اثناء تصفحى لشروحاتك الجميلة فى هذا الموضوع وشرحك للمربع النصى استوقفنى الجملة التالية: *** الاختيار رقم 3 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى واخر افقى بصراحه حاولت استخدمه لكن لم يظهر معى بشكل افقى وراسى وتفسير ذالك هى الخاصيه Multiline لانها تحمل خيارين اما الادخال يكون على سطر واحد وبالتالى فان الاسكرول بار الرأسى لا يوجد له فائده وأما الادخال على عدة اسطر متتاليه وبالتالى ان الاسكرول بار الافقى لي له فائده هذا والله اعلم ( مش عايز افتى فى شئ لا اعلمه واترك الامر للخبراء ) السكرول الأفقى له فائدة فى الأسطر المتعددة .. MultiLine ولكن لا تظهر هذة الفائدة الا إذا كانت الخاصية الأخيرة من خصائص صندوق النص وهى WordWarp غير مفعلة False فى الحالة دى لو انت كاتب سطر اطول من عرض المربع النصى مش ها يظهر باقى السطر ولا حتى السكرول الافقى .. ولكن عند الضغط داخل النص للتحرير يظهر السكرول الافقى الذى يمكنك من مشاهدة باقى السطر انما لو كانت True فإن السطر الطويل بيكمل فى اللى بعده وفى الحالة دى لن يظهر السكرول الافقى لعدم الحاجة اليه
    1 point
  39. انا مسجل من فترة طويلة واكثييييييييييييييييييييييير استفدت من المنتدى وانشاء الله راح افيد بعد ما صار عندي خبرة متواضعة واحلى من هيك منتدى واحلى من هيك أعضاء ما في
    1 point
  40. الاخوة الزملاء بناء على طلب الاخ ياسر خليل بعمل فيديو يشرح فيه البرنامجين اليك الشرح اضغط على الرابط https://www.youtube.com/watch?v=F0szUmnIEkc&feature=youtu.be ملحوظة تم اضافة مجموعة صور اخرى وملف اكسل للايات القرانية المنفذة على الاكسل فى الصفحة الثانية صورتى بعد الانتهاء من الشرح
    1 point
  41. جزاك الله خيرا ونورت المنتدى
    1 point
  42. الطريقه الرابعه :- استخدام لغة البرمجه هى بنظرى من اهم الطرق واسهلها وهى تكون من خلال البرمجه فقط ولا يمكن تنفيذها من شاشة الخصائص فى مرحله التصميم شاهد الصوره التالية هتعرف ما هى الطريقه الكود هو بشكل مكبر عباره عن سطر واحد فقط ComboBox1.RowSource = "sheet1!a2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row تعالو نفصص كل كلمة فى هذا السطر ونعرف ازاى نكتبه comboBox هو اسم الكمبوبوكس المراد تعبئته بالبيانات . تكتب من خلال جعل الكيبورد انجلش ثم نضغط على حرف ز بالعربى RowSource هى الخاصيه المسئوله عن تعبئة الكمبوبوكس بالبيانات = نكتب علامه = " نفتح قوس تنصيص " ويكتب من خلال شفت+حرف ط بالعربى Sheet1!a2 وهى اول خلية بالجدول المراد عرض بياناته فى الكمبوبوكس (ونلاحظ اننا كتبنا اسم الشيت متبوع بعلامة تعجب ! ثم اسم الخلية) : تعنى الى b اسم اخر عمود بالجدول " قفل قوس التنصيص طالما فتحنا قوس اذن لازم نقفله & علامة و أو بمعنى and Sheet1.Cells(Rows.Count, "a").End(xlUp).Row اخر خليه بها بيانات بالعمود A طيب عرفنا ازاى نكتب الكود فما هو وقت تنفيذ الكود السطر ده هيتم وضعه فى اى حدث ( والله دى بقى حضرتك اللى تحددها حسب برنامجك انت ولكن على سبيل المثال نضع هذا الكود فى حدث فتح الفورم شاهد الكود Private Sub UserForm_Initialize() ComboBox1.RowSource = "sheet1!a2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row End Sub فعند فتح الفورم وتهيئته يتم تعبئة الكمبوبوكس بالبيانات ممكن نكتبه بشكل تانى لو حابب تعرف اكتر من طريقه شوف الكود وبعدين اشرحه لك Private Sub UserForm_Initialize() Lr = Sheet1.Cells(Rows.Count, "a").End(xlUp).Row ComboBox1.RowSource = "sheet1!a2:b" & Lr End Sub قمت بعمل متغير وسميته Lr وممكن تسميها انت بأى اسم كما تحب وقلت ان المتغير ده عباره عن اخر خلية بها بيانات بالعمود A وبالتالى كتبة المصدر بتاع البيانات كالتالى sheet1!a2:b" & Lr" تم الاستعاضه بـ Lr بدلا من السطره ده Sheet1.Cells(Rows.Count, "a").End(xlUp).Row ويمكن كتابة الكود بشكل اخر ( ملحوظه هذا التنوع بالكتابه هو فقط من حيث اسلوب كتابة الكود لكن المضمون واحد) Private Sub UserForm_Initialize() With ComboBox1 .RowSource = "sheet1!a2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row End With End Sub الى هنا انتهى درس اليوم اعتقد انه بسيط وممتع يارب اكون وفقت بالشرح وتستفيدو منه عايز اشوف تجاربكم على الدرس على رابط الردود الخاص بالموضوع اتمنى لكم التوفيق وانتظرونا فى طريقه جديده قريبا بأذن الله
    1 point
  43. اخي marfipo اشعر باستعجالك ولكن بالصبر ياتي كل شئ اخي جرب المرفق واخبرني بالنتيجة تحياتي Situations CHB (Marché).rar
    1 point
  44. الحمد لله رب العالمين و بفضل من الله ثم رضا الوالدين و بفضل هذا المنتدى و المنتديات العربية و العالمية الأخرى المتخصصة في مجال الإكسيل, حصلت على شهادة MVP Most Valuable Professional و لله الحمد أني كا أول عربي حصل عليها و أسأل الله العلي القدير أن تكون بداية توفيق جديد لنا و أنا نخدم الأمة و أن ننفع بها أهلنا و أمتنا لله الحمد من قبل و من بعد
    1 point
  45. السلام عليكم اخوانى اعضاء اوفيسنا الكرام .... كل عام وانت بخير بمناسبة عيد الاضحى المبارك اعاده الله على الامه الاسلاميه بالخير والنصر والتمكين لديننا الحنيف اليوم اقدم لكم موضوع ربما يكون بسيط لكن قد يحتار البعض فى الوصول للحل عند الاحتياج وهو تحويل التاريخ من ميلادى الى هجرى بتحويل نوع البيان من dd/mm/yyyy الى B2dd/mm/yyyy .
    1 point
  46. الاخ الامير انا لم اربط الاجابة على سؤالك بتغيير الاسم لقد قمت بالرد عليك لكن يبدو ان الرد لم يسجل لان النت كان بطيئ المهم انا لا احبذ النقل من الورد الى البوربوينت فهناك طريقتين لذلك الاولى ببرنامج والثانية من داخل البوربوينت لكن كلاهما يظهر الصفحة والكلمات بطريقة غير منظمة وكبيرة وتحتاج الى تعديل ياخد وقت مع عدد الصفحات 100 اليك هذا الرابط موجود فيه طريقه اخرى افضلها وهى ربط الورد بالبوربوينت بمعنى اذا ضغطت على ايقونة الورد بالبوربوينت يظهر جميع الصفحات للورد كاملة بنفس التنسيق وفى انتظار ردك فى المشاركة 33 http://www.officena.net/ib/index.php?showtopic=46472&page=2
    1 point
  47. اخي ياسر /موضوع جميل جداً و الاجمل منه خفة الظل و التعامل مع الشرح كأن هذه الدروس مثل لعبة بين يدي طفل مما يجعل الامر عند المتعلم غاية تنقصها الوسيلة. و بفضلك يحصلون على هذه الوسيلة. سدد الله خطاك و الى المزيد
    1 point
  48. أخي الكريم Morestudy Thank you very much for your nice words معلش طلبت معايا شوية إنجليزي ..أشكرك أخي الحبيب على كلماتك المشجعة ، والحمد لله بدأت تمطر وبقبت إنت أول واحد استفاد ربنا ييسر الأمور .. بس بالنسبة لخفة الظل دي عملية نسبية .. يعني فيه ناس شايفه إنه خفة ظل وناس تانية أكيد هتشوفه إنه أسلوب رخم وغلس ومش مفيد (الاختلاف في الرأي لا يفسد للكود قضية) أنا يهمني في النهاية والبداية المبتدئ الذي يخشى أن يخطو خطواته الأولى فهو بمثابة الطفل الصغير الذي يتعلم السير فهو يريد أن يجد من يمسك بيديه حتى يستطيع ويتجرأ على المشي ، وبعد أن يتقن فن المشي ساعتها يستغني عن مد له يد العون هههه يعني كدا زي ما بيقول الشاعر علمته رمي السهام فلما اشتد ساعده رماني ..
    1 point
  49. السلام عليكم أستاذي ليس الخوف هو ما يمنعنا من طرق الأبواب المغلقة ولكنه الجهل بهذه الأبواب ومفاتيحها. أشكرك على الشرح الجميل فهو ما كنت أبحث عنه منذ فترة وقد وجدته بعدة صور في هذا المنتدى الأكثر من رائع. وروعته تكتمل بإدارته وبأعضائه الذين يجملونه بكل ما يقدمونه من أعمالهم وأفكارهم وكل ما أوتوه من علم ولا يبخلون به أبدا. أعانك الله على إكمال الشرح الذي بدأ بأجمل ما يريده الإنسان خفة الظل وليس الجدية فالبسمة مفتاح لكل شيء.ولا تيأس فسيدخل الكثير من المهتمين بهذا الموضع عاجلاً أو آجلاً.
    1 point
  50. بسم الله الرحمن الرحيم هذه طريقة أستخدمها لتصحيح الأخطاء في الأسماء أو العناوين يمكن أستخدامها في الترجمة للغة أخرى وتكون مجدية جدا عنما يكون عندك كم كبير من الأسماء وتوجد بها بعض الأخطاء فيتم تجميع الكلمات التي في هذه الأسماء في عمود واحد ثم تكتب تصيحها أو ترجمتها في العمود المقابل فتحصل على الترجمة أو التصحيح باستخدام دالة معرفة ترجمة.rar
    1 point
×
×
  • اضف...

Important Information