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

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


إذهب إلى أفضل إجابة Solved by بن علية حاجي,

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

السلام عليكم  

أسعد الله أوقاتكم بكل خير 

 

بالمرفقات ملف  يقوم المستخدم بتعبئته 

أريد من المستخدم أن يختار التاريخ والوقت بدلا من كتابته بشكل يدوي 

قمت بإضافة التقويم في الشريط العلوي بعد اضافة عنوان الملف في خيارات بدء التشغيل 

لكن سبب لي مشاكل عند بدء التشغيل للملف  

هل من طريقة أخرى نموذج ساعات.xlsxنموذج ساعات.xlsxنموذج ساعات.xlsx؟  ولكم جزيل الشكر

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

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

بإضافة قوائم منسدلة للتوقيت من... إلى... (ساعات ودقائق) وللتاريخ ومعادلات مساعدة تم عمل المطلوب في الملف المرفق... أرجو أن يفي ما تريده...

ملاحظة : تم إضافة كلمة سرية لحماية الملف من التعديل وهي: 123

نموذج ساعات1.xlsx

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

الف شكر    على جهدك ووقتك 

 

بالنسبة للوقت  تمام هذا اللي احتاجه 

 

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

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

 

اكرر الشكر  مرة أخرى 

111111111111.jpg

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

  • أفضل إجابة

السلام عليكم

تم استعمال أكواد تقوم بما تريد جلبته من النت (وليس لي فيها أي يد عدا بعض التعديلات الخفيفة لتعمل على ملفك)...

ملاحظة: الملف يعمل في ويندوز 64 بت وإذا حدث فيه خطأ عند تنفيذه في جهازك فجرب أن تغير مكان العلامة ' بين السطرين (تحذفهما من السطرين الأخيرين -32 بت- وتضعهما في اآخرين -64 بت-) في الجزئية التالية من كود Module1:

'في حالة استعمال وينودوز 64 بت
Private Declare PtrSafe Function GetDC& Lib "user32.dll" (ByVal hwnd&)
Private Declare PtrSafe Function GetDeviceCaps& Lib "gdi32" (ByVal hDC&, ByVal nIndex&)

'في حالة استعمال وينودوز 32 بت
'Private Declare Function GetDC& Lib "user32.dll" (ByVal hwnd&)
'Private Declare Function GetDeviceCaps& Lib "gdi32" (ByVal hDC&, ByVal nIndex&)

وليس لي فكرة أخرى...

نموذج ساعات1.xlsm

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

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

بعد إذن الأستاذ الكبير بن علية حاجي   تعديل بسيط على الملف بإضافة التقويم لجميع خلايا عمود التاريخ ربما يفيدك  وتقويم آخر مستقل لخلية تاريخ تقديم الطلب .

Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B17:B28")) Is Nothing Then
Dim UnJour As Date
Application.EnableEvents = False
Cancel = True
UnJour = FormCal.Calendrier
If UnJour <> 0 Then
Target = Format(UnJour, "mm/dd/yyyy")
Else
Target = ""
End If
Selection.Offset(0, 0).Select
Application.EnableEvents = True
End If


Sub ShowCal()
    Dim myDate As Date
    myDate = CalendarForm.GetDate(FirstDayOfWeek:=Monday, SaturdayFontColor:=RGB(250, 0, 0), SundayFontColor:=RGB(250, 0, 0))
    If myDate > 0 Then Range("M4").Value = myDate

End Sub

End Sub

 

 

 

 

نموذج ساعات 3.xlsm

تم تعديل بواسطه Mohamed Hicham
  • Like 1
رابط هذا التعليق
شارك

الخبراء

بن علية حاجي

Mohamed Hicham

الف شكر لجهودكم المباركة 
والله يكتب لكم الأجر والثواب 

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

قم بالغاء الحماية على الخلايا المراد التعديل عليها قبل حماية المصنف 

او قم برفع ملفك مع توضيح المطلوب

تم تعديل بواسطه Mohamed Hicham
  • Like 1
رابط هذا التعليق
شارك

اعتذر على الخلل في الكتابة 

 

واشكرك اخوي محمد

 

المشكلة التي اواجهها الان 

انه اذا كان خليه من خلايا الوقت  null    فإن الاجمالي لحساب الوقت  يعطي  خطأ كما في الصورة 

ولابد ان يكون هناك قيمة  لو 0 

 

كيف اجعل الخلايا الفارغة في الوقت  تكون لها قيمة افتراضية  (0)  بدلا من  null

image.png.e105c678cf40f7749077cf01c7dee939.png

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

ادا كنت تقصد جعلها بهده الطريقة يمكنك دالك بتعديل بسيط على المعادلات

p_25120wp7r1.png

قم بنسخ المعادلات الى ملفك الرئيسي

 

نموذج ساعات 4.xlsm

تم تعديل بواسطه Mohamed Hicham
  • Like 1
رابط هذا التعليق
شارك

احسنت بارك الله فيك  أخي محمد

 

لكن هل في طريقة تجعل القيم 0   في خانات الوقت   بدل  ماتكون الخلية فارغة مثل ماهو واضح في الصورة السابقة  ( عمود التوقيت :الى - الساعة  : فارغ)

يعني مثلا  المستخدم  عمل دليت للقيم   فتصبح الخانه  0  بدل ماتكون فارغة 

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

تفضل جرب اخي

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ActiveSheet.Unprotect Password:="123"
Union([C7:C28], [E7:E28], [F17:F28], [H17:H28]).Replace What:="", Replacement:="0"
ActiveSheet.Protect Password:="123"

End Sub

 

نموذج ساعات 4.xlsm

تم تعديل بواسطه Mohamed Hicham
  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information