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

عمرو.محمد

02 الأعضاء
  • Posts

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

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

مشاركات المكتوبه بواسطه عمرو.محمد

  1. أولا شكرا جدا لسرعة الرد والتفاعل

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

    والفكرة هي اني اريد تشغيل هذا الفورم في عملية منفصلة عن عمليات الاكسيل بحيث اقدر افتح ملفات اكسيل اخري لا تؤثر علي شيت اكسيل الفورم وتكون منفصلة تماما وللاسف ان لست علي دراية بفيجوال بيسك ولكن فقط vba

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

    فهل من مساعدة في هذه المعضلة وشكرا جزيلا

    xcel.jpg

  2. السلام عليكم. 

    اود ان اعرض عليكم معضلة حيرتني كثيرا

    انا عامل شيت اكسيل وداخله فورم كل العمل عليها لذا اخفي الاكسيل ولكن عند العمل علي شيت اخر اجد مشاكل 

    فاود ان اجعل اكسيل الفورم منفصل تماما عن باقي شيتات الاكسيل 

    الاخفاء ليس حل

    فماذا افعل. 

  3. السلام عليكم 

    لا اعرف كيف اعبر عن اعجابي بالكود والتفكير بارك الله فيك اخي الكريم 

    ولكن هل من طريقة لعمل الكود مع الملفات  Personal.xls  او ملف Addin.xla  لان الكود لا يعمل معهم بالفعل 

    شكرا علي المجهود المثير للاعجاب

  4. السلام عليكم اخوانى الكرام اعضاء منتدى اوفيسنا العريق وبعد,

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

    جربت application.visible وكل الطرق التقليدية عند الفتح ولكن الشاشة مستمرة فى الظهور واى كود عند الفتح ينفذ بعد هذه الشاشة وليس قبلها.

      

     وشكرا مقدما

     

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

    https://forums.mydigitallife.net/threads/disable-office-2010-splash-screens.25439/

    Untitled.png.9340f7b33b0604d3a1f7f0f8fa8321bb.png

  5. اخى الكريم شكرا لمرورك وردك ولكن مازالت مستمرة هذه الشاشة فى الظهور وللاسف workbook open  مش هو الحل ياريت لو تعرف طريقة تخفى الشاشة الصفرا نهائي لان فيه ملفات كبيرة بتظهر الشاشة ديه فترة قبل الفتح وشكرا جزيلا...

  6. السلام عليكم اخوانى الكرام اعضاء منتدى اوفيسنا العريق وبعد,

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

    جربت application.visible وكل الطرق التقليدية عند الفتح ولكن الشاشة مستمرة فى الظهور واى كود عند الفتح ينفذ بعد هذه الشاشة وليس قبلها.

     

    وشكرا مقدما

    Untitled.png

  7. الاستاذ القدير ياسر خليل تقبل تحياتى

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

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

     

    ولكنك محق فيما قلت 

     

    تقبل تحياتى وتأكد ان ما فعلته بفضل الله ثم ما تعلمته من هذا المنتدى الرائع والاساتذه الافاضل به  ومازلت اتعلم  وقد بدات من الصفر وعشقت هذا ال VBA  والان 

    • Like 1
  8. Private Sub TextBox1_Change()


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

    '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ' السطر القادم لتفادى اى خطأ فى الكود ومنع اظهار رسالة ال debug للمستخدم
    On Error Resume Next

    ' بقوله  افرغ محتويات الليست بوكس  علشان لما تفتح الليست المرة القادمة متلاقيش البيانات المبحوث عنها المرة اللى فاتت موجودة
    ListBox1.Clear

    ' متغيرات لاسم الصفحة والصفوف
    Dim ws As Worksheet
    Set ws = Sheets("data")
    Dim i As Long
    Dim v As Integer


    'بقوله هنا  لو التكست بوكس اللى ببحث فيه مش فاضى نفذ اللى جاى
    If Me.TextBox1.Text <> "" Then


    '================================================


    'هنا بقوله لو اتكتب فى التكست بوكس من غير ما تعلم على نوع البحث من التلات خيارات يطلعلك رسالة تنبيه انك لابد ان تختار اولا
    'ويوقف تنفيذ باقى الكود

    If Me.esm.Value = False And Me.ra2eesy.Value = False And far3y.Value = False Then
    MsgBox "رجاء اختر نوع البحث اولا"
    Me.TextBox1 = ""
    Exit Sub
    End If
    '==============================================
    'هنا بقى متغير اسمه lr   وده بيحددلى اخر صف فيه بيانات  فى العمود
    lr = ws.Range("b" & Rows.Count).End(xlUp).Row


    ' بقوله من الصف الخامس لغاية اخر صف فيه بيانات     نفذ اللى جاى
    ' وديه اسمها حلقة تكرارية
    For i = 5 To lr


    ' هنا متغيرات لتحديد الصفوف المبحوث بها  سواء بالاسم او الفرعى او الرئيسي
    comp = ws.Cells(i, "b") 'اسم
    comp2 = ws.Cells(i, "c") 'فرعى
    comp3 = ws.Cells(i, "d") 'رئيسي


    If ws.Cells(i, 1) <> "" Then

    '============================================================
    'لو البحث بالاسم هو اللى متحدد كومب هتبقي زى ماهى وهيبقى عمود البحث هو b
    If Me.esm.Value = True Then
    comp = comp
    End If
    'هنا لو الفرعى هو المتحدد كومب هتساوى كومب 2 اللى هو عمود البحث بالفرعى
    If Me.far3y.Value = True Then
    comp = comp2
    End If
     'كذلك الامر هنا
    If Me.ra2eesy.Value = True Then
    comp = comp3
    End If

     
     '============================================================


    ' اللى فات  هنستخدمه هنا فى داله البحث باى حرف فى الكلمة  من غير شرح كتير علشان يطول الشرح
    ' اللى يشغلك فيها  كومب اللى احنا معرفينه فوق وهو نطاق البحث
    'واللى انت هتبحث فيه وهو التكست بوكس
    'وهيقارن اللى كتبته فى التكست بوكس  بالبيانات اللى فى نطاق البحث

    If InStr(1, comp, Me.TextBox1.Text, vbTextCompare) Then


    ' هنا بقوله لما تلاقى بيانات البحث ضيفها فى الليست بوكس
    ListBox1.AddItem

    'v ده متغير زى i  وده للصفوف
    'الليست بتبتدى من الشمال لليمين  وهما اربع صفوف  (v,0) معناها الصف v اللى هيتكرر لو فى اكتر من نتيجة للبحث
    'و zero  معناها العمود الاول فى الليست من الشمال وهكذا


    ' وهنا بقوله  ضيف نتائج البحث فى العمود 1 والصف i فى العمود التالت والصف v فى الليست بزكس وهكذا

    Me.ListBox1.List(v, 3) = ws.Cells(i, 1).Value 'مسلسل
    Me.ListBox1.List(v, 2) = ws.Cells(i, 2).Value 'اسم
    Me.ListBox1.List(v, 1) = ws.Cells(i, 3).Value 'حساب فرعى
    Me.ListBox1.List(v, 0) = ws.Cells(i, 4).Value 'رئيسي


    'وديه علشان لو اكتر من نتيجة للبحث تتكرر ولو مكتبتهاش هيجيبلك نتيجة واحدة فقط
    v = v + 1
    ' اقفل معادلات if
    End If
    End If

    ' اقفل الحلقة التكرارية for i = 5 to lr
    Next i

    'ولو الليست بوس فاضية مفيهاش صفوف او عدد صفوفها 0 امسحها علشان نتايج البحث السابقة متفضلش موجودة

    If Me.ListBox1.ListCount = 0 Then
    Me.ListBox1.Clear
    End If

    'كل اللى فات هيحصل لو التكست بوكش مش فاضى طيب لو فاضي امسح الليست بوكس
    Else
    Me.ListBox1.Clear
    'اقفل قاعدة if
    End If


    End Sub

    • Like 1
×
×
  • اضف...

Important Information