السلام عليكم ورحمة الله وبركاته
الاخ zoro888
الموضوع ببساطه انه اي عمود انت تريده تستطيع فقط تغيير رقم العامود من داخل الكود
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
UserForm1.Show
End If
End Sub
هنا اخترنا الحدث دبل كليك من نفس الصفحه التي نريد ان يظهر في عمودها الثالث وهو c ، ببساطة اذا اردت العمود b فانك ستضع الرقم 2 بدل الرقم 3
او الرقم 1 بدل الرقم 3 اذا اردت التاريخ في العمود a
اماالمقصود بالكود اعلاه انه اذا تحقق الشرط بحيث يكون اختيار الخليه بالضغط عليها دبل كليك ضمن نطاق العمود c هنا اطلب من التقويم ان يظهر لي
لكي اضع به التاريخ الذي اريده
اما بخصوص الفورم الخاص بالتقويم
ستتبع الخطوات التاليه:
اولا - الدخول الى محرر الفجوال بيسك
ثانيا - اختيار ادراج فورم userform
ثالثا - من الادوات tools اختيار additional controls او اضافة عنصر تحكم
رابعا - من القائمه التي ستظهر معك اختيار calendar control ومن ثم موافق ، بعدها ستجد الامر موجود في toolbox مثلها مثل label او textbox وغيرها
خامسا - ستقوم بسحب امر calendar داخل الفورم وتعيد تنسيقه بالشكل الذي تريد
سادسا - دبل كليك من على فورم ستظهر لك نافذة البرمجه
سابعا - ستضع الكود التالي داخل حدث التقويم
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat = "DD/MM/YYYY"
UserForm1.Hide
End Sub
ويعني هذا الكود انه في الخليه النشطه تكون قيمتها هي نفس قيمة التقويم
والسطر الثاني بخصوص اختيار الفورمات التي سيظهر عليها التاريخ
والسطر الثالث يعني عند ادخال التاريخ من التقويم يقوم تلقائيا باخفاء التقويم
اما الكود التالي فيعني في كل مره يستدعا بها التقويم يعطيني تاريخ اليوم الفعلي
Private Sub UserForm_Activate()
Me.Calendar1.Value = Now()
End Sub
اتمنى ان تعذرني ان اطلت عليك الشرح لانه ربما انك تعلم الكثير مما كتبت ولكن قصدت هذا ليستفيد الجميع
حياك الله