أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على ali mohamed ali-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة منع ادخال البيانات بعدة شروط اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





تحديد رأس وتذيل صفحة الطباعة برمجيا

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



10-11-2017 12:40 صباحا
محمود ابو الدهب
مشرف على لغات برمجة والاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 14
المشاركات : 1309
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 4-7-1990
الدعوات : 59
يتابعهم : 6
يتابعونه : 275
قوة السمعة : 4570
موقعي : زيارة موقعي
عدد الإجابات: 7
 offline 

 


بسم الله نبدأ 

 

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


 

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

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

Function HdrFtr(sText As String, _
                Optional ByVal sFont As String, _
                Optional iColor As Long, _
                Optional iFontSize As Long) As String

    Dim sColor      As String
    Dim sFontSize   As String

    If Len(sFont) Then sFont = "&""" & sFont & """"

    If Abs(iFontSize) Then sFontSize = "&" & Abs(iFontSize)

    If iColor <> 0 Then
        sColor = "&K" & _
        Right("0" & Hex(iColor And &HFF), 2) & _
                 Right("0" & Hex(iColor &H100 And &HFF), 2) & _
                 Right("0" & Hex(iColor &H10000 And &HFF), 2)
    End If

    HdrFtr = sFont & sFontSize & sColor & sText
End Function


 

وبعدين يا واد يا حوده "معلش بحاول اسرق طريقة ياسر أبو البراء في الشرح بس مش متمكن زية "

 

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

Sub Header_Footer()
Application.ScreenUpdating = False
    Dim ws         As Worksheet

    Set ws = Sheet1
        ws.PageSetup.LeftHeader = HdrFtr(ws.Range("h2").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.CenterHeader = HdrFtr(ws.Range("g2").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.RightHeader = HdrFtr(ws.Range("f2").Value, "Calibri,Regular", vbBlue, 18)
        
        ws.PageSetup.LeftFooter = HdrFtr(Format(ws.Range("h3").Value, "yyyy/mm/dd"), "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.CenterFooter = HdrFtr(ws.Range("g3").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.RightFooter = HdrFtr(ws.Range("f3").Value, "Calibri,Regular", vbBlue, 18)

Application.ScreenUpdating = True
End Sub


 

ونأتي لشرح الكود

Application.ScreenUpdating = False

 

وهذا الجزء لتسريع عمل الكود وننهي الكود به ولكن بوضع true وهو لمنع اهتزاز الشاشة

    Dim ws         As Worksheet
    Set ws = Sheet1

وضعنا متغير وهو ws لتعريف ورقة العمل  هنا كانت sheet1 ويمكنك تغيرها كما تحب 



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

NDcxNTE4MQ8787100 
 

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


        ws.PageSetup.LeftHeader = HdrFtr(ws.Range("h2").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.CenterHeader = HdrFtr(ws.Range("g2").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.RightHeader = HdrFtr(ws.Range("f2").Value, "Calibri,Regular", vbBlue, 18)
        
        ws.PageSetup.LeftFooter = HdrFtr(Format(ws.Range("h3").Value, "yyyy/mm/dd"), "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.CenterFooter = HdrFtr(ws.Range("g3").Value, "Calibri,Regular", vbBlue, 18)
        ws.PageSetup.RightFooter = HdrFtr(ws.Range("f3").Value, "Calibri,Regular", vbBlue, 18)

Application.ScreenUpdating = True
End Sub

 

وبالنسبة لهذا الجزء من الكود سنشرح احدهم والباقي مثلهم وليكن

ws.PageSetup.LeftHeader = HdrFtr(ws.Range("h2").Value, "Calibri,Regular", vbBlue, 18
 
 
ws هو اسم ورقة العمل
pagesetup وهو صفة الطباعة
leftheader اى يسار راس صفحة الطباعة واليمين يكون right    والوسط يكون center
hdrftr هو دالة التعريف التى وضعنها بكود مستقل في اول الشرح 
ws.Range("h2").Value     يعنى ورقة العمل المحدده والتى كانت sheet1  الخلية h2 
Calibri,Regular   تنظيم ونوع الخط
vbblue  هو تحديد الون الازرق
18  هو حجم الخط



وتلاحظون اننا اضفنا في هذا السطر format
 
ws.PageSetup.LeftFooter = HdrFtr(Format(ws.Range("h3").Value, "yyyy/mm/dd"), "Calibri,Regular", vbBlue, 18)


وهذا لان الخلية h3 تحتوى على تاريخ واردنا ان يظهر التاريخ هكذا yyyy/mm/dd اى يوم شهر سنة 
 
وفي النهايو ضعنا هذا الكود لتحديد النطاق a2:d23  لعرض الطباعة وهو 

Sub print_priv()
Application.ScreenUpdating = False
Header_Footer
        ActiveSheet.Range("a2:d23").Select
        ActiveSheet.PageSetup.PrintArea = "$a$2:$d$23"
        ActiveWindow.SelectedSheets.PrintPreview
Application.ScreenUpdating = True
End Sub

وربطناهم بزر في ورقة العمل 

MzYzMTMx101

ومن خلالة يمكنك الطباعة واستعراض شكل الطباعة النهائي الذى سيكون هكذا


MTMyNDUxMQ4545102


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

ولى رجاء اخير هو اتمنى من الخبراء ان يضيفوا المزيد على الدالة التعريفية  وهو تضخيم للخط 

والشكر موصول للجميع 

لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب





 
 
  ملف شرح رأس وتذيل الصفحة.rar   تحميل rar مرات التحميل :(149)
الحجم :(23.522) KB

توقيع :محمود ابو الدهب
لى عظيم الشرف بالانضمام لهذا الصرح العظيم
وكم أتمنى من الله
ان يعيننى ويعلمنى من علمة الواسع فهو ولي ذالك وهو على كل شي قدير

تحياتى وتقدير للجميع  محمود ابوالدهب

10-11-2017 02:21 صباحا
مشاهدة مشاركة منفردة [1]
محمود ابو الدهب
مشرف على لغات برمجة والاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 14
المشاركات : 1309
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 4-7-1990
الدعوات : 59
يتابعهم : 6
يتابعونه : 275
قوة السمعة : 4570
موقعي : زيارة موقعي
عدد الإجابات: 7
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
كما يمكن استخدام هذا الكود

.LeftHeader = "&""Arial,Bold""&18" & Worksheets("Data").Range("AB8").Value
وهو لتحديد الخلية وورقة العمل وتحديد نوع الخط وتضخيمه وحجمة
توقيع :محمود ابو الدهب
لى عظيم الشرف بالانضمام لهذا الصرح العظيم
وكم أتمنى من الله
ان يعيننى ويعلمنى من علمة الواسع فهو ولي ذالك وهو على كل شي قدير

تحياتى وتقدير للجميع  محمود ابوالدهب

16-11-2017 07:32 صباحا
مشاهدة مشاركة منفردة [2]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
بارك الله فيك أخي الحبيب محمود أبو الدهب وجزاك الله خيراً
واصل بلا فواصل .. هكذا ترتقي

16-11-2017 08:25 مساء
مشاهدة مشاركة منفردة [3]
محمود ابو الدهب
مشرف على لغات برمجة والاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 14
المشاركات : 1309
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 4-7-1990
الدعوات : 59
يتابعهم : 6
يتابعونه : 275
قوة السمعة : 4570
موقعي : زيارة موقعي
عدد الإجابات: 7
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
المشاركة الأصلية كتبت بواسطة: YasserKhalil
بارك الله فيك أخي الحبيب محمود أبو الدهب وجزاك الله خيراً
واصل بلا فواصل .. هكذا ترتقي


جزاك الله خيرا معلمى العزيز من خلالخ بداء واليك اعود وكلامك شرف لى 
والحمد لله على سلامة رجوعك لنا بالسلامة كم غبت علينا وكم انتظرتك فوجودك لا غنى عنه في اى وقت  111
توقيع :محمود ابو الدهب
لى عظيم الشرف بالانضمام لهذا الصرح العظيم
وكم أتمنى من الله
ان يعيننى ويعلمنى من علمة الواسع فهو ولي ذالك وهو على كل شي قدير

تحياتى وتقدير للجميع  محمود ابوالدهب

16-11-2017 11:51 مساء
مشاهدة مشاركة منفردة [4]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
بارك الله فيك أخي العزيز محمود وجزاكم الله خيراً على كلماتك الطيبة ، ومهما طال الوقت فمصيرنا جميعاً إلى زوال ، ولا يبقى للإنسان سوى الذكرى الطيبة والعمل الصالح ، وأسأل الله أن يتقبل منا ومنكم صالح الأعمال

17-11-2017 02:28 صباحا
مشاهدة مشاركة منفردة [5]
محمود الشريف
خبير
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 23-09-2017
رقم العضوية : 627
المشاركات : 259
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 14-2-1980
يتابعهم : 1
يتابعونه : 28
قوة السمعة : 2164
موقعي : زيارة موقعي
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
الأستاذ الفاضل // محمود 

جزاكم الله عنا خيرا

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

17-11-2017 07:32 صباحا
مشاهدة مشاركة منفردة [6]
محمد الدسوقى
خبير
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 47
المشاركات : 827
الجنس : ذكر
تاريخ الميلاد : 14-10-1973
الدعوات : 79
يتابعهم : 9
يتابعونه : 765
قوة السمعة : 8651
عدد الإجابات: 8
 offline 
look/images/icons/i1.gif تحديد رأس وتذيل صفحة الطباعة برمجيا
الأستاذ الفاضل // محمود 
بارك الله فيك وجزاكم خيرا على هذا المجهود لتوصيل العلم  زادك الله منه
تقبل تحياتى




الكلمات الدلالية
يحديد ، وتذيل ، صفحة ، الطباعة ، برمجيا ، تحديد ، صفحة ، الطباعة ، برمجيا ، vba code for ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 05:42 مساء