تصميم تبويبات عمودية في شيت إكسيل السلام عليكم ورحمة الله وبركاته
كما أسلفت - إخوتي الكرام - في موضوع تصميم تبويبات أفقية في شيت إكسيل ، تابعت أيضاً تصميم تبويبات عمودية
حيث يتم تصميمها بالأشكال وباستخدام التنسيق الشرطي ...بعد تصميم الملف مجزأَ إلى نطاقات بعدد التبويبات التي نريد تصميمها
نقوم بالتنسيق بالألوان والخطوط المناسبة والمنسجمة فيما بينها ...
ثم من إدراج - أشكال - المستطيل مستدير الزوايا ...نقوم بتنسيقها وتوسيط الكلمات داخلها بحيث تظهر بلون الخلفية

ثم نقوم بتسميتها في مربع الاسم بأسماء ستستخدم في الأكواد التالي ذكرها
* في حدث المصنف يتم وضع الكود التالي للتنقل بين التبويبات ثم ينقلك إلى الكود المراد تنفيذه في الموديول حسب تنقلك بين هذه التبويبات:
CODE
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E5:E8")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Range("B3").Value = Target.Row
Run "ShowTab" & Target.Row - 4
End If
End Sub
أما في الموديول الذي سيتم تنفيذ أكواده حسب التنقل بين التبويبات تتم كتابة الأكواد التالية:
CODE
Sub ShowTab1()
'معلومات عامة
Application.ScreenUpdating = False
HideAll
Sheet1.Shapes("GenInfoLabel").Visible = msoCTrue
Sheet1.Range("G:K").EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
Sub ShowTab2()
'تفاصيل ساعات العمل
Application.ScreenUpdating = False
HideAll
Sheet1.Shapes("TimeCLockLabel").Visible = msoCTrue
Sheet1.Range("O:S").EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
Sub ShowTab3()
'سجل الأجور
Application.ScreenUpdating = False
HideAll
Sheet1.Shapes("PayrollLabel").Visible = msoCTrue
Sheet1.Range("X:AB").EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
Sub ShowTab4()
'ملاحظات حول الموظف
Application.ScreenUpdating = False
HideAll
Sheet1.Shapes("NotesLabel").Visible = msoCTrue
Sheet1.Range("AH:AH").EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
Sub HideAll() 'إخفاء الكل
With Sheet1
.Shapes("GenInfoLabel").Visible = msoFalse
.Shapes("TimeCLockLabel").Visible = msoFalse
.Shapes("PayrollLabel").Visible = msoFalse
.Shapes("NotesLabel").Visible = msoFalse
.Range("G:AH").EntireColumn.Hidden = True
End With
End Sub
أرجو أن يكون مفيداً ..نسأل الله تعالى أن يزيدنا من علمه وأن يجعله نافعاً خالصاً لوجهه الكريم
والسلام عليكم ورحمة الله وبركاته.[hide][/hide]