اذهب الي المحتوي
أوفيسنا

رؤوف1951

02 الأعضاء
  • Posts

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

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

مشاركات المكتوبه بواسطه رؤوف1951

  1. السلام عليكم ورحمة الله وبركاته

    والآن مع الكود 

    في نافذة كود ThisWorkbook نكتب الكود

    Private Sub WorkBook_Open()
    Application.Visible = False
    Range("A3:h10000").Sort Key1:=Range("B3:B10000"), Order1:=xlAscending, Header:=xlYes
    User_Data.Show
    End Sub

    وفي نافذة كود كود User_Data نكتب الكود

    Private Sub CommandButton1_Click()
    Dim LRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Data")
    LRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        If Trim(Me.TxtBox1.Value) = "" Then
            Me.TxtBox1.SetFocus
            MsgBox ("من فضلك أدخل الكود")
            Exit Sub
        End If
        If Trim(Me.TxtBox2.Value) = "" Then
            Me.TxtBox2.SetFocus
            MsgBox ("من فضلك أدخل الاسم")
            Exit Sub
        End If
    ws.Cells(LRow, 1).Value = Me.TxtBox1.Value
    ws.Cells(LRow, 2).Value = Me.TxtBox2.Value
    ws.Cells(LRow, 3).Value = Me.TxtBox3.Value
    ws.Cells(LRow, 4).Value = Me.TxtBox4.Value
    ws.Cells(LRow, 5).Value = Me.TxtBox5.Value
    ws.Cells(LRow, 6).Value = Me.TxtBox6.Value
    ws.Cells(LRow, 7).Value = Me.TxtBox7.Value
    ws.Cells(LRow, 8).Value = Me.TxtBox8.Value
    ws.Cells(LRow, 9).Value = Me.TxtBox9.Value
    Me.TxtBox1.Value = ""
    Me.TxtBox2.Value = ""
    Me.TxtBox3.Value = ""
    Me.TxtBox4.Value = ""
    Me.TxtBox5.Value = ""
    Me.TxtBox6.Value = ""
    Me.TxtBox7.Value = ""
    Me.TxtBox8.Value = ""
    Me.TxtBox9.Value = ""
    Me.TxtBox1.SetFocus
    End Sub
    Private Sub CommandButton2_Click()
    Unload Me
    ActiveWorkbook.Close True
    End Sub
    Private Sub CommandButton3_Click()
    Unload Me
    User_Query.Show
    End Sub
    Private Sub CommandButton4_Click()
    Unload Me
    User_Password.Show
    End Sub
    
    Private Sub Label10_Click()
    
    End Sub
    
    Private Sub UserForm_QueryClose(cancel As Integer, closeMode As Integer)
    If closeMode = 0 Then
    cancel = True
    MsgBox "عذرا الخروج من زر إغلاق"
    End If
    End Sub


    وفي نافذة كود User_Password نكتب الكود

    Private Sub Cmd_Sheet_Click()
    If Txt_User_Name.Value = "roaa" And Txt_Password.Value = "123" Then
    Application.Visible = True
    Unload Me
    Exit Sub
    End If
    
    MsgBox "المدخلات غير صحيحة - ادخل المطلوب مرة ثانية"
    Txt_User_Name.Value = ""
    Txt_Password.Value = ""
    Txt_User_Name.SetFocus
    End Sub
    
    Private Sub CmdClose_Click()
    Unload Me
    ActiveWorkbook.Close True
    End Sub
    Private Sub UserForm_QueryClose(cancel As Integer, closeMode As Integer)
    If closeMode = 0 Then
    cancel = True
    MsgBox "عذرا الخروج من زر إغلاق"
    End If
    End Sub

    وفي نافذة كود User_qwery نكتب الكود

    Private Sub ComboBox1_Change()
    Set sh12 = Sheets("Data")
    LR = sh12.[A10000].End(xlUp).Row
    For Each cl In sh12.Range("A4:I" & LR)
    If Me.ComboBox1 = cl Then
    Me.TextBox1 = cl.Offset(0, -1)
    Me.TextBox2 = cl.Offset(0, 0)
    Me.TextBox3 = cl.Offset(0, 1)
    Me.TextBox4 = cl.Offset(0, 2)
    Me.TextBox5 = cl.Offset(0, 3)
    Me.TextBox6 = cl.Offset(0, 4)
    Me.TextBox7 = cl.Offset(0, 5)
    Me.TextBox8 = cl.Offset(0, 6)
    Me.TxtBox9 = cl.Offset(0, 7)
    End If
    Next
    End Sub
    
    Private Sub CommandButton1_Click()
    Dim z As Integer
    If Trim(TextBox2.Value) = "" Then
    TextBox2.SetFocus
    MsgBox ("من فضلك ادخل لاسم")
    Exit Sub
    End If
    For z = 1 To 10000
    If (TextBox2.Value) = Cells(z, 2) Then
    Cells(z, 1) = TextBox1.Text
    Cells(z, 3) = TextBox3.Text
    Cells(z, 4) = TextBox4.Text
    Cells(z, 5) = TextBox5.Text
    Cells(z, 6) = TextBox6.Text
    Cells(z, 7) = TextBox7.Text
    Cells(z, 8) = TextBox8.Text
    Cells(z, 9) = TxtBox9.Text
    End If
    Next
    Unload Me
    User_Query.Show
    ComboBox1.SetFocus
    End Sub
    
    Private Sub CommandButton2_Click()
    Unload Me
    User_Data.Show
    End Sub
    
    Private Sub CommandButton3_Click()
    Unload Me
    ActiveWorkbook.Close True
    End Sub
    
    Private Sub UserForm_QueryClose(cancel As Integer, closeMode As Integer)
    If closeMode = 0 Then
    cancel = True
    MsgBox "عذرا الخروج من زر إغلاق"
    End If
    End Sub
    

     

    وهذا هو الملف كاملا

    كلمة المرور للشيت "roaa" ، "123"

    كملة المرور للكود "0"

    Transport.rar

     

    • Like 1
  2. بسم الله الرحمن الرحيم

    إخزاني الأعزاء وبعد إذن أساتذتنا الكرام ...

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

    "أضع لكم بعض الاكواد البسيطة المطلوبة لتعم الفائدة "، " حماية الملف بالكود " 

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

    بسم الله الرحمن الرحيم

    طلب منى أحد أبنائي وهو دكتور أمراض نساء أن أعمل له ملف ينظم حركة المرضى بعيادته كالتالي:

    - البيانات بالصورة كود- الاسم - الزوج- تاريخ الزواج- العمر- التليفون- العنوان- فصيلة الدم- تاريخ الزيارة

    والمطلوب عمل شاشة افتتاحية لإدخال البيانات السابقة دون أن تتدخل الممرضة في بيانات الشيت ودون المساس ببنية لكود

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

    والله الموفق

  3. بسم الله الرحمن الرحيم

    إخزاني الأعزاء وبعد إذن أساتذتنا الكرام ...

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

     

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

  4. بسم الله الرحمن الرحيم

    إخزاني الأعزاء وبعد إذن أساتذتنا الكرام ...

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

     

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

  5. بسم الله الرحمن الرحيم

    أخوتي وأحبائي تغيبت عليكم لمرضى فأرجو فبول عذرى

    لاحظنا في حوارنا أن الملف الذى قمنا به يعمل على خير وجه ةلكن كل بيانات جديدة نرحلها تقع على البيانات القديمة فتمسحها وتأخذ مكانها وهذا عيب قاتل فكيف نعالج ذلك؟

    نجعل الكود يبحث عن أول سطر خالى ويضع فيه البيانات الجديدة أو يبحث الكود عن آخر سطر مشغول ونضع في السطر الذى يليه البيانات الجديدة

    ولمعرفة أول سطر خالى نكتب السطر التالي في الكود

    LRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

    ويمكنك الاطلاع على الوظائف التي بسطر الكود (مثل Offset، Cells) من كثير مما عرض فى موقعتا الحبيب

    ونغير ما يلزم فيصبح الكود كالتالي:

    Private Sub CommandButton1_Click()
    Dim LRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Data")
    Me.CodeBox.SetFocus
    LRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    ws.Cells(LRow, 1).Value = Me.CodeBox.Value
    ws.Cells(LRow, 2).Value = Me.NameBox.Value
    Me.CodeBox.Value = ""
    Me.NameBox.Value = ""
    End Sub

    وإليكم الملف المرفق

    SimplTransport_2.rar

    والآن إلى مشروع ملف كامل يجمع كل ما تم شرحه وسيتم شرح مفردات المشروع لاحقا

     

    • Like 1
  6. السلام عليكم ةرحمة الله وبركاته

    شرفنا وأسعدنا مرور حضراتكم على موضوعاتي المتواضعة ولو كنت أعلم أن الأستاذ ياسر سيمر علينا لفرشت الحساب ورد أما بعد:

    الحقيقة أنا لم أرد الكتابة في أكثر من موضوع ولكن وجدت للإخوة بعض الاستفسارات والتي لم أستطع الرد عليها حيث أن التعليق كان لفريق الموقع ففكرت بفتح موضوع جديد أشرح فية إستفسارات الزملاء بطريقة حاولت أن تكون بسيطة، قابلتين مشكلات أهما أن الكود يظهر بتنسيق عربي ومن اليمين وثانيهما أنى أعاني من رفع ما أريد حتى أني أحاول فتح المحرر لكتابة تعليق (رد) فى موضوعي فهل من مساعد؟!!!

    سأكمل إن شاء الله في المرة القادمة

    ومرة ثانية وثالثة أشكركم على المتابعة والتشجيع

    • Like 1
  7. خطواتنا:

    -         في ملف إكسل جديد ادخل أي بيانات فليس المهم هنا البيانات.

    -         افتح نافذة VBE وقم بإدراج يوزرفورم وسمه "User_Password".

    -         ضع على الفورم مفتاح و2 لابيل وتكست بوكس

    -         في نافذة كود ThisWorkBook أكتب الكود التالي:

    Private Sub WorkBook_Open()

        Application.Visible = False

    User_Password.Show

    End Sub

    وقد تم شرح هذا الكود في موضوعي السابق

    -         في نافذة كود الفورم أكتب الكود التالي:

    Private Sub Cmd_Sheet_Click()

    If Txt_Password.Value = "roaa" Then

    Application.Visible = True

    Unload Me

    Exit Sub

    End If

    MsgBox "الكلمة غير صحيحة أدخلها مرة أخرى"

    Txt_Password.Value = ""

    Txt_Password.SetFocus

    End Sub

    Private Sub CmdClose_Click()

    Unload Me

    ActiveWorkbook.Close True

    End Sub

    Private Sub UserForm_QueryClose(cancel As Integer, closeMode As Integer)

    If closeMode = 0 Then

    cancel = True

    MsgBox "عذرا الخروج من زر إغلاق"

    End If

    End Sub

    سأكتفى في هذه الجلسة بهذا الجزء ولنا لقاء آخر إن شاء الله

    رابط الملف هنا : كلمة السر "roaa"

     

    Password_Example.rar

     

  8. بسم الله الرحمن الرحيم

    الحماية

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

  9. السلام عليكم ورحمة الله وبركاته

    شكرا لكل من مر على موضوعنا المتواضع وجزاكم الله بالخير

    نكمل اليوم الملف الذي نعمل عليه.

    أضف للفورم تكست بوكس جديد يكون لإدخال الكود (أى رقم أو أى حروف أو أى تركيبة من الحروف والأرقام)  وبذك أصبح لدينا بيانين يراد تحويلهما للشيت فماذا يزيد الكود هنا عن الكود في التطبيق السابق؟ وهنا نبدأ بتسمية التكست بوكس بأسماء تدل على محتواه لماذا؟ سيمر الوقت وتحتاج لرؤية الكود وتكون قد نسيت .. فلنساعد أنفسنا ونتعود على تسمية الكنترولة باسم يدل على نوعها وعملهافمثلا أسميت التكست بوكس الذي يحوي الكود بالأسم "CodeBox" وأسميت الآخر "NameBox" والآن نرجع للكود المطلوب:

    Private Sub CommandButton1_Click()

    Dim ws As Worksheet
    Set ws = Worksheets("Data")
    ws.Cells(4, 1).Value = Me.CodeBox.Value
    ws.Cells(4, 2).Value = Me.NameBox.Value
    Me.CodeBox.Value = ""
    Me.NameBox.Value = ""
    Me.CodeBox.SetFocus
    End Sub
    هل لاحظتم حضراتكم أن الكود قد زاد سطرين فقط ولا يحتاجان لشرح جديد
    جرب الملف وسجل ملاحظاتك حتى أطمئن وأكمل
  10. السلام عليكم ورحمة الله وبركاته

    أسعدني كثيرا تقدير الإخوة بالموقع خاصة أهل الخبرة منهم أدام الله الجميع

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

    تدريب أولى للترحيل:

    افتح ملف جديد وقم بعمل فورم به أسمه User_Data وسم الورقة الأولى "Data"

    ضع على الفورم تكست بوكس ومفتاح سمى التكست بوكس "TxtBox1" واترك المفتاح كما هو ولكن اجعل Caption له "إدخال البيانات الجديدة"

    الآن أكتب الكود التالي في نافذة كود ThisWorkbook 

    Private Sub WorkBook_Open()

    User_Data.Show
    End Sub
    هذا الكود تعاملنا معه سابق ومفهوم الغرض منه
    والآن في الفورم أنقر مزدوجا المفتاح واكتب في النافذة الظاهرة الكزد التالي وعملة توصيف عمل المفتاح
     
    Private Sub CommandButton1_Click() 
    Dim ws As Worksheet
    Set ws = Worksheets("Data")
    ws.Cells(4, 2).Value = Me.TxtBox1.Value
    Me.TxtBox1.Value = ""
    Me.TxtBox1.SetFocus
    End Sub
    السطر الأول بداية الكود والسطر الثاني تعريف المتغيرات ودائما يبدأ بكلمة Dim، ثم السطر الثالث يسمى المتغير ws بالاسم "Data" ثم يأتى السطر الرابع ليبدأ عمل المفتا وهو يضع القيمة الموجودة في التكست بوكس في الفورم يحولها للشيت في الخلية بالسطر الرابع والعمود الثاني وقد يقول البعض هناك طريقة أسهل وانا معك ولكن سنحتاج هذه الطريقة لتكملة الملف فالصبر يا إخوان
    السطر الخامس يجعل التكست بوكس خاليا بعد ترحيل البيانات منه والسطر السادس يضع مؤشر الكتابة في التكست بوكس استعدادا للبيانات الجديدة
    أرجو التنفيذ وإبداء الملاحظات وإن تعثرتم فها فهذا هو ملف البداية
     

     

     

     

    • Like 1
  11. الحقيقة أسعدني كثيرا مرور أخواي الفاضلين وتعليقهما الذين دفعوني للتكملة ولكن الحقيقة أني وضعت ملف الوورد لعدم قدرتي على رفع الموضوع من خلال محرر الموقع فصفخات الموقع ثقيلة فى تحميلها عندي وصفحات الموقع فقط فلماذا لا أعلم!!!

    انتظروني بجديد إن شاء الله

  12. السلام عليكم ورحمة الله وبركاته

    أخواني هذه مشاركة أردت بها تلخيص بعض الأكواد أرجو أن تفيدكم وهى ليست من تأليفي وإنما هى مما تعلمته في هذا الموقع الرائع

    لا تحرمنا من دعائكم

    بعض الأكواد البسيطة.rar

    First.rar

    Second.rar

    Third.rar

     

    باقي الملفات

    Forth.rar

    Fifth.rar

    شاشة أفتتاحية.rar

    • Like 2
  13. السلام عليكم ورحمة الله وبركاته

    أخواني هذه مشاركة أردت بها تلخيص بعض الأكواد أرجو أن تفيدكم وهى ليست من تأليفي وإنما هى مما تعلمته في هذا الموقع الرائع

    لا تحرمنا من دعائكم

    بعض الأكواد البسيطة.rar

    First.rar

    Second.rar

    Third.rar

     

    • Like 3
  14. السلام عليكم ورحمة الله وبركاته

    قرأت موضوع " أريد عمل صفحه افتتاحيه " ووجدت إجابات كثيرة عن السؤال المطروح في الموضوع ولكن أعنقد أن هذه الإجابات لم تحقق طلب الأخ كاتب الموضوع ولما لم أعرف كيف أضيف رد لهذا الموضوع فكتبت موضوعى هذا وقد أرفقت ملف أكسل أرجو أن يكون فيه الإجابة على سؤال أخي mbaha والله الموفق 

    ملاحظة : ما وضعته في الملف ليس إلا ما تعلمته من أساتذتي في هذا المنتدى (الموقع) فالشكر لله والحمد على ما أنعم علينا به من أساتذة أفاضل في علم الأكسل.

     

    Book1.rar

  15. أخي العالي

    تحية من الأعماق وشكرا وجزاك الله الخير وراحة البال ونصيحة لكم ولكل الأعضاء "القلق آفة سيئة وهو المسئول عن مرض القلب الذي أصابني" كفاكم الله شر القلق وشر المرض.... آمين يارب العالمين

    أريد تطوير البرنامج : فى حالة كان التقرير يحتوي أكثر من صفحة مثلا ثلاث صفحات فأريد أن يتم الجمع للصفحة الأولى ويرحل إلى الصفحة التالية كصف أول وفي نهاية الصفحة الثانية يتم المجموع للصفحتين ثم يرحل المجموع للصفحة الثالثة كصف أول وهكذا... حتى ينتهي التقرير بغض النظر عن عدد صفحاته!!!!!! سأحاول عمل ذلك وأعرض للمشورة وتنقيح سيادتكم  وشاكرين مهللين

    :signthankspin::signthankspin::signthankspin:

×
×
  • اضف...

Important Information