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

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

قام بنشر (معدل)

السادة الكرام 

قمت بتحويل التاريخ من خلية واحدة الى ثلاث خلايا ولكن عند حذف الخلية الاولى تتغير القيم في خلايا التاريخ المجزاء

التوضيح في الملف المرفق

ولكم جزيل الشكر

 

تحويل التاريخ.rar

تم تعديل بواسطه الربيعي .ليبيا
قام بنشر

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

ولتلافي الخطأ قم بتعديل المعادلة بهذا الشكل

=IF(E5="","",DAY(E5))
=IF(E5="","",MONTH(E5))
=IF(E5="","",YEAR(E5))
  • Like 1
قام بنشر (معدل)

شكراً لك اخي ياسرعلى اهتمامك ... 

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

تم تعديل بواسطه الربيعي .ليبيا
قام بنشر

أخي الحبيب .. اليوم والشهر والسنة الخلايا التي تحتويها بها معادلات مرتبطة بالتاريخ فطبيعي أن تختفي النتائج بمجرد حذف التاريخ ..

نرجو التوضيح إذا لم يكن الأمر كما فهمت

قام بنشر (معدل)

اخي khmb  واخي ياسر بارك الله فيكم 

اولا الحل المقدم مكن الاخkhmb جميل والناتج يبقى عند حذف التاريخ وهو المطلوب

ثانيا .. عند طبيقها على باقي الخلايا تعطي نفس تاريخ الخلية e5

ثالثا ...لم افهم الاجراء الذى قام به اخي khmb حت نتمكن من تطبيقه

 

اتمنى منكم التوضيح ولكم جزيل الشكر والعرفان 

 

الملف المرفق يوضح نتائج التاريخ

 

 

تجزئة التاريخ.rar

تم تعديل بواسطه الربيعي .ليبيا
قام بنشر

اخي khmb  واخي ياسر بارك الله فيكم 

اولا الحل المقدم مكن الاخkhmb جميل والناتج يبقى عند حذف التاريخ وهو المطلوب

ثانيا .. عند طبيقها على باقي الخلايا تعطي نفس تاريخ الخلية e5

ثالثا ...لم افهم الاجراء الذى قام به اخي khmb حت نتمكن من تطبيقه

 

اتمنى منكم التوضيح ولكم جزيل الشكر والعرفان 

 

الملف المرفق يوضح نتائج التاريخ

 

قام بنشر (معدل)

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

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

عسى ان يكون ماطلبت

 

المرفق 

تجزئة التاريخ علي كامل العمود ولايمسح.rar

تم تعديل بواسطه KHMB
قام بنشر

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

يا اخي صدقني انا ما اعرف في الصيغ إلا القليل جدا بمتابعة الشروحات من اليوتيوب

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

قام بنشر

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

الاستاذ الفاضل ابو البراء جزاك الله خيرا

الاخ العزيز KMHB كود اكثر من رائع جزاك الله خيرا

اخي العزيز الربيعي (ماهي الصيغة التي يجب ان اكتبها في ملف اخر)

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

Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
Dim dayDate As String
'dayDate = Format(Range("H"), " dd / mm / yyyy")

' íÊã æÖÚ ÇáÊÇÑíÎ ÊáÞÇÆí Ýí ÇáÚãæÏ ÇáãÞÇÈá(B)ÚäÏ ÇáÊÛííÑ Ýí ÇáÚãæÏ ÇáËÇäí 2
If Target.Column <> 3 Then Exit Sub
If Target <> "" Then
dayDate = Range("C" & Target.Row)
Range("G" & Target.Row) = Format(dayDate, "DD")
Range("H" & Target.Row) = Format(dayDate, "MM")
Range("I" & Target.Row) = Format(dayDate, "YYYY")


On Error GoTo 0
End If
End Sub

ان شاء الله سيعمل الكود بالشكل الصحيح

تقبلوا فائق الاحترام والتقدير

قام بنشر

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

شكرا أبو محمد عباس

اعتقد ان الأخ الربيعي لايريد كود يريد معادلات Formula وبنفس نتائج الكود

قام بنشر (معدل)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim dayDate As String

If Target.Column <> 3 Then Exit Sub
If Target <> "" Then
dayDate = Range("C" & Target.Row)
Range("G" & Target.Row) = Format(dayDate, "DD")
Range("H" & Target.Row) = Format(dayDate, "MM")
Range("I" & Target.Row) = Format(dayDate, "YYYY")

On Error GoTo 0
End If
End Sub

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

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

ولكن بالكتابة فدر المستطاع.

مثلا البرنامج اللي تشتغل علية وترغب في برمجتة هو مصنف مكون من عدة أوراق او شيتات كمثال عندك Sheet1 -Sheet2-Sheet3 وعملك هو بالصفحة او الشيت1 اضغط علي مفتاح Alt وبالاستمرار بالضغط علية اضغط F11 سيفتح لك نافذة إسمه محرر اكواد الفيجوال بيسك في الجانب الايسر او الأيمن حسب لغة النظام عندك ستلاحظ أسماء الأوراق اضغط علي ال Sheet1 دبل كليك ستفتح لك صفحة بيضاء هي محرر الاكواد مقسومة نصفين نصف مكتوب General عام والأخر Declarations  الإعلانات افتح السهم اللي بجانب General واختار WorkSheet ثم بالاجانب الاخر افتح السهم اختار كلمة Change

Private Sub WoorkSheet_change(Byval Target as  Range)

 

انسخ الكود اللي من المثال الرفق سابقا او اللي كاتبة الأخ أبو محمد عباس جزاه الله خير هنا ...إنتهى

 

End Sub

 

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

 

 

أبو الحسن والحسين

تم تعديل بواسطه KHMB
قام بنشر

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

 اخيkhmb

 بفضل الله ثم بجودكم تمكنت من استيعاب الموضوع وتم تطبيقه اخي khmb

لك ولكل الزملاء الشكر على المساعدة والاهتمام 

  • 6 months later...

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