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

التحويل من الرأسى إلى الأفقى


إذهب إلى أفضل إجابة Solved by عبدالله بشير عبدالله,

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

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

وبه نستعين

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

إستعرضنا قبل عدة أيام موضوع تسلسل الأيام بدون أيام الجمعة والسبت بإستخدام ال VBA بطريقة رأسية

ويُشهد الله تعالى أن الردود والحلول جاءت أكثر من رائعة

أما عن هذا الموضوع

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

بداية من التاريخ المُدخل يدويا كتاريخ بداية وحتى تاريخ النهاية وبدون حد أقصى لتاريخ النهاية

برجاء التفضل بالإطلاع على المرفق ***** شكرا مقدما وجزاكم الله خيرا

التحويل من الرأسى الى الأفقى.xlsm

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

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

تم معالجة النقطة الثاتبة وهو مسح النطاق اولا

    Range(Cells(7, 49), Cells(8, Columns.Count)).ClearContents
 

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

لك وافر التقدبر والاحترام

تعدبل الكود

Sub FillDatesAndNames()
    Dim startDate As Date
    Dim endDate As Date
    Dim currentDate As Date
    Dim colIndex As Integer
    
    Range(Cells(7, 49), Cells(8, Columns.Count)).ClearContents

    startDate = Range("AU8").Value
    endDate = Range("AV8").Value
    colIndex = 49

    For currentDate = startDate To endDate
        If Weekday(currentDate, vbSunday) <> 6 And Weekday(currentDate, vbSunday) <> 7 Then
            Cells(8, colIndex).Value = currentDate
            Cells(7, colIndex).Value = Format(currentDate, "dddd")
            colIndex = colIndex + 1
        End If
    Next currentDate
End Sub

الملف

استدعاء التاريخ افقيا.xlsm

 

 

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

بارك الله فيكم وفى أولادكم أخى وأستاذى / عبد الله بشير

هناك نقطتين أولهما هى تنسيق التاريخ ياحبذا لو جعلته مشكور يقرأ من اليمين إلى اليسار

النقطة الثانية هى عند تغير تاريخ البداية والنهاية 

من 2024/10/1 إلى 2024/11/30 حسب المثال المرفق إلى تاريخ أخر على سبيل المثال من 2024/9/22 إلى 2024/10/9

يظل تسلسل الأيام السابق ثابتا دون محوه فهل يمكن جعل نطاق تسلسل الأيام مطاطيا إن جاز التعبير حسب زيادة المدة أو نقصانها

ربما توضح الصورة المزيد ****** مرة أخرى بارك الله فيكم وفى أولادكم وجزاكم الله خيرا

 

 

 

Untitled.jpg

تم تعديل بواسطه سعيد بيرم
خطأ أملائى
رابط هذا التعليق
شارك

الله ينور عليك ياحاج عبد الله 

ربنا يبارك فى حضرتك وفى أولادكم

نقطة أخيرة بعد طلب الإذن ويكتمل الموضوع بحول الله تعالى

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

وأيضا حتى أخر صف يحتوى على بيانات

هل يمكن إضافة هذه النقطة ضمن ماتفضلت به أم ستستدعى هذة النقطة إلى كود منفصل

اللهم إصلح بين يديك ***** وجزاكم الله خيرا

Untitled.jpg

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

حقبقة لم استوعب طلبكم ارجو التوضبح اكثر 

 

هل تربد نسخ التاريخ الموجود فى الصف الثامن الى باقى الموظفين كما هو هل تقصد هذا

 

 

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

أخى وأستاذى الفاضل / عبد الله بشير

لدى كود يتولى إستدعاء بيانات الموظفين *****  أردت فقط الإشارة الى أخر صف يحتوى على بيانات

أما النقطة الهامة بالنسبة لى هى نسخ التواريخ الموجوده فى الصف الثامن ليتم لصقها

بدأ من الخلية AU9 وحتى أخر عمود يحتوى على تاريخ وأيضا أخر صف يحتوى على بيانات

والله المستعان

 

 

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

باذن الله

جرب الملف

استدعاء التاريخ افقيا.xlsm

الكود بتعامل مع اخر اسم للموظفين بتم عنده اللصق

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

أخى وأستاذى عبدالله 

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

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

أولا قد يزيد أو يقل عدد الأعمدة حسب تاربخ البداية والنهاية

ثانيا قد يزيد أو يقل عدد الصفوف حسب عدد الموظفين

أعتقد أننا فى حاجة لجعل نطاق الأعمدة والصفوف ديناميكى بدلا من تحديدهما كنطاق ثابت للبيانات كما تم تحديد نطاق الأعمدة

وفقا للتعديل الأخير ******* برجاء ملاحظة نسخ تنسيق الجدول من بعد أخر صف يحتوى على بيانات

أعتقد أنه يجب حذف التسيق من بعد أخر صف ****** والله الموفق وعلى الله قصد السبيل

 

استدعاء التاريخ أفقيا +11111.xlsm

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

  • أفضل إجابة

 

الملف المعدل 

58 دقائق مضت, سعيد بيرم said:

أولا قد يزيد أو يقل عدد الأعمدة حسب تاربخ البداية والنهاية

سبق معالجة الامر حيث يتم مسح البيانات قبل استدعاء التواريخ       ws.Range(ws.Cells(7, 49), ws.Cells(8, Columns.Count)).ClearContents

59 دقائق مضت, سعيد بيرم said:

ثانيا قد يزيد أو يقل عدد الصفوف حسب عدد الموظفين

 

تم التعدبل  حبث يتعامل مع اخر صف به اسم موظف زاد العدد او نقص واذا اردت الغاء موظف احذف الصف بالكامل لو امسحه بالكامل      ws.Range("AU9:CM" & lastRow).ClearContents

منذ ساعه, سعيد بيرم said:

أعتقد أنه يجب حذف التسيق من بعد أخر صف

تم التعديل  الصف الذى به بيانات يتم مسح التنسيقات

ws.Range("AU" & lastRow + 1 & ":CM" & ws.Rows.Count).ClearFormats

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

المهم الحصول على طلبك  وليس المهم من قام به

برعاية الله وحفظه

استدعاء التاريخ أفقيا +11111.xlsm

 

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

هو توفيق الدقن بيقول إيه

صلاة النبى أحسن

أحسنت أخى عبدالله وأحسن الله إليك

وأسعدك فى الدارين **** وأمد الله تعالى فى عمرك وبارك فى أولادكم

حل ولا أروع ***** شكراحبيب قلبى على إهتمامكم وصبرك معى

وجزاكم الله خيرا

 

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information