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

مشكلة ظهرت لي بعد انهاء الفورم الخاص بي


إذهب إلى أفضل إجابة Solved by أسامة البراوى,

الردود الموصى بها

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

الاساتذة الافاضل 

ظهر لي مشكلة غريبة بعد اما انتهيت من البرنامج جعلته يفتح تلقائي من loginformبيوزر نيم وباسورد وكل ده تمام 

في بوتون عاملها جوه تظهرلي شيت الاكسيل بيظهر عادي بس بيمنعني اكتب اي حاجة بالكيبورد سواء في الاكواد او الشيتات وبعد اما اغلق بلاقي الي في الصورة دي 

username:admin

passwored:admin

10.jpg.ee62fcd95678d79e6f6da647ebcdc1de.jpg

هل يوجد حل ام لا وشكرا

dwork.xlsm

رابط هذا التعليق
شارك

  • أفضل إجابة

السلام عليكم

المشكله  هى Do-Loop فى كود الفورم mainform

Private Sub UserForm_Activate()
	Me.BackColor = RGB(40, 116, 166)
	Me.Frame1.BackColor = RGB(40, 116, 166)
	Me.Label1.Caption = Date
	Me.Label2.Caption = Format(Date, "ddd")
	Do
	Me.Label3.Caption = Time
	DoEvents
	Loop
End Sub

ودي بتخللى الفورم شغال الخلفيه 

طيب ايه الحل

1- ها نعرف المتغير فى اول الفورم خالص وليكن Dim StopClock as Boolean 

2- ها نتأكد انه False فى بدايه تشغيل ال form من من حدث 

Private Sub UserForm_Initialize()
    StopClock = False
End Sub

3- هانضيف شرط فى دائرة ال Do انها ما تعملش حاجه لو StopClock= true

Private Sub UserForm_Activate()
    Me.BackColor = RGB(40, 116, 166)
    Me.Frame1.BackColor = RGB(40, 116, 166)
    Me.Label1.Caption = Date
    Me.Label2.Caption = Format(Date, "ddd")
Do
    If StopClock = True Then Exit Sub
    Me.Label3.Caption = Time
    DoEvents
Loop
End Sub

هانتأكد ان قيمة المتغير True قبل ما نعمل unload للفورم 

Private Sub CommandButton6_Click()
    Application.Visible = True
    StopClock = True
    Unload Me

End Sub

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

جرب الملف المرفق

dwork.xlsm

 

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

طيب 

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

If Application.Visible = True Then Exit Sub
 

Private Sub UserForm_Activate()
Me.BackColor = RGB(40, 116, 166)
Me.Frame1.BackColor = RGB(40, 116, 166)
Me.Label1.Caption = Date
Me.Label2.Caption = Format(Date, "ddd")
Do
If Application.Visible = True Then Exit Sub
Me.Label3.Caption = Time
DoEvents
Loop
End Sub

 

  • Like 2
رابط هذا التعليق
شارك

نفس المشكلة يا اخي للتوضيح 

حين الضغط علي زر البرمجة يفتح كما في الصورة 

11.jpg.c847dfd608e085c05aa5a545b85b17b1.jpg

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

 

 

رابط هذا التعليق
شارك

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

المرفق التالي تم معالجه ما يتعلق بأوامر الاغلاق وجربته عندي يعمل جيدا

dwork.xlsm

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

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

 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then

    Cancel = True
    MsgBox "ãä ÝÖáß Þã ÈÇÛáÇÞ ÇáäãæÐÌ ãä ÒÑ ÇáÇÛáÇÞ ÇáãÎÕÕ áÐáß", vbOKOnly

End If
End Sub

غير كده كان فيه مشكله في امر الاغلاق للنموذج الرئيسي 

كلمة else كانت ناقصه حرف

image.png.8892a4682ec5aaca5108d1ee889423c4.png

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information