SlideShare uma empresa Scribd logo
1 de 400
Baixar para ler offline
1
2
‫ُسإء‬‫ؤ‬‫إ‬
‫ؤىل‬‫إ‬ ‫ؤُسإء‬‫إ‬ ‫إًىذاب‬ ‫ُشإ‬/‫إدلىت‬‫و‬
‫هللا‬ ‫رمحِا‬
3
‫ًًل‬ ‫ما‬ ‫ًدٌاول‬ ‫ًىذاب‬‫إ‬-:
:
❑‫ادلصفوفات‬‫و‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫يف‬ ‫ادلعلومات‬ ‫ين‬‫ز‬‫زب‬
❑‫الربرلية‬ ‫التعليمات‬ ‫يف‬ ‫ار‬‫ر‬‫الق‬ ‫صنع‬
❑‫احللقا‬‫ت‬
❑‫األخطا‬ ‫معاجلة‬‫ء‬
❑‫فورم‬ ‫اليوزر‬
‫ؤؿسإد‬‫إ‬-:‫َلس‬ ‫محسإن‬ ‫حيىي‬ ‫ذادل‬
‫ذباره‬ ‫يوس‬‫ر‬‫بكالو‬
‫ذبارى‬ ‫بشكل‬ ‫استغاللو‬ ‫الحد‬ ‫ػلق‬ ‫وال‬ ‫رلاىن‬ ‫الكتاب‬
4
‫الكتاب‬ ‫زلتويات‬1
1. Chapter 1 :- getting Started
i. ‫ا‬‫و‬‫ادلاكر‬
ii. ‫االمان‬ ‫اعدادات‬
iii. Msg Box
2. Chapter 2 :- Sheets , Cells
i. ‫التحديد‬
ii. ‫اخلصائص‬
iii. With ……End with
iv. Colors
3. Chapter 3 :- Variable / Variable Type
i. Variable
ii. Object variable
iii. Variable type
iv. Array ‫ادلصفوفو‬
v. Constant ‫ابت‬‫و‬‫الث‬
vi. ‫ات‬‫َت‬‫ادلتغ‬ ‫مدى‬
4.Chapter 4 :- operators and operands
5. Chapter 5 :- procedures and Functions
i. Public , Private
ii. Functions
iii. Arguments ‫الوسائط‬
iv. Optinal Arguments
v. By Val , By Ref
6. Chapter 6 :- Condetion
i. If condition
ii. Select Case
iii. Loop
iv. Input Box
7. Chapter 7 :- properties / Methods
i. Offset property
ii. Resize property
iii. Address property
iv. Current Region property
v. Clear Method
vi. Cut , Copy , Past Special
vii. Insert , Delete Methods
viii. Count Property
ix. Value Property
x. Text Property
xi. Column , Row Properties
xii. Has formula Property
xiii. Set keyword
xiv. Enter Row , Enter Column
xv. Hidden
xvi. Formula
• Absolute formula
• Relative formula
5
2
8. Chapter 8 :- Events
i. Work book Events
ii. Worksheet Events
iii. On Time Event
9. Chapter 9 :- Strings –Strings functions
i. LCase – UCase
ii. Trim –Len –Space
iii. Replace function
iv. Mid function
v. Option Explicit
vi. Split function
vii. Join function
10. Chapter 10 :- Arrays
i. Usinge Arrays
ii. Using Arrays ( exercise)
11.Chapter 11 :- supplements
i. Using excel functions
ii. Vba Triks
• Date and Time
• Random Number
• Stop Macro
• Counter
 ‫ىامو‬ ‫وظائف‬
 ‫البيان‬ ‫نوع‬ ‫اختبار‬ ‫وظائف‬
 ‫ياضيو‬‫ر‬‫ال‬ ‫ال‬‫و‬‫الد‬
 ‫البيان‬ ‫نوع‬ ‫ربويل‬ ‫داالت‬
 ‫الوقت‬‫و‬ ‫يخ‬‫ر‬‫التا‬ ‫داالت‬
 ‫ادلاليو‬ ‫ال‬‫و‬‫الد‬
 OnKey Method
 OnUndo Method
 For Eash …………..Next
12. Chapter 12 :- Error Handling
i. Error
ii. Type of Error
iii. Immediate Window
iv. Debugging
13.Chapter 13 :- UserForm
Chapter 14 :- Synatix
o Is Numeric
o Mod
o Round
o Val
o Is null
o format
‫استخدام‬ ‫على‬ ‫تطبيق‬VlookUp‫فورم‬ ‫اليوزر‬ ‫ىف‬
‫العمل‬ ‫ورقو‬ ‫نفس‬ ‫وىف‬ ‫اخرى‬ ‫اىل‬ ‫عمل‬ ‫ورقو‬ ‫من‬ ‫الًتحيل‬
‫الفورم‬ ‫ىف‬ ‫احلذف‬‫و‬ ‫التعديل‬‫و‬ ‫البحث‬‫و‬ ‫الًتحيل‬ ‫على‬ ‫نطبيق‬
‫التعديل‬‫و‬ ‫الًتحيل‬ ‫بعد‬ ‫الفورم‬ ‫عناصر‬ ‫لتصفيو‬ ‫شليز‬ ‫كود‬
‫الفورم‬ ‫خالل‬ ‫من‬ ‫للًتحيل‬ ‫اخر‬ ‫شكل‬
‫العمل‬ ‫لورقو‬ ‫بالنسبو‬ ‫فورم‬ ‫اليوزر‬ ‫موضع‬ ‫تعيُت‬
‫فورم‬ ‫باليوزر‬ ‫اخلروج‬ ‫زر‬ ‫تعطيل‬
‫فورم‬ ‫لليوزر‬ ‫وتصغَت‬ ‫تكبَت‬ ‫زر‬ ‫إظهار‬
‫الفورم‬ ‫وإظهار‬ ‫االكسيل‬ ‫إخفاء‬ ‫كود‬
‫ادلتكرر‬ ‫حذف‬ ‫كود‬
‫سرى‬ ‫برقم‬ ‫اد‬‫و‬‫االك‬ ‫ضبايو‬
‫فورم‬ ‫خالل‬ ‫من‬ ‫للتطبيق‬ ‫باسورد‬ ‫وضع‬
‫اجع‬‫ر‬‫ادل‬ ‫قائمو‬
6
7
‫باستخدام‬VBA‫مع‬ ‫زبيلها‬ ‫ؽلكن‬ ‫يبا‬‫ر‬‫تق‬ ‫شيء‬ ‫أي‬ ‫نفعل‬ ‫أن‬ ‫ؽلكننا‬ ،Excel ...
‫دعو‬ ،‫نبدأ‬ ‫أن‬ ‫قبل‬ ‫ولكن‬‫ن‬ ‫نا‬‫ئية‬‫ر‬‫م‬ ‫ضلتاجها‬ ‫اليت‬ ‫ات‬‫و‬‫األد‬ ‫أن‬ ‫من‬ ‫تأكد‬.
‫تستخدم‬ ‫كنت‬‫إذا‬‫نسخو‬( Excel 2007)‫أعلى‬ ‫إصدار‬ ‫أو‬
click ". Office button, then click Excel Options ‫ابالسفي‬
‫سيتم‬‫إضافة‬‫عالمة‬‫تبويب‬‫وىى‬ ‫جديدة‬Developer:
8
‫سوف‬‫ضلتاج‬‫ىف‬‫العمل‬‫مع‬‫التعليمات‬‫الربرلية‬‫ل‬VBA،،‫زلرر‬‫يتم‬‫تثبيتو‬‫بشكل‬‫اضي‬‫ًت‬‫اف‬.‫ؽلكنك‬‫فتحو‬‫عن‬‫يق‬‫ر‬‫ط‬‫الضغط‬
‫على‬‫كيبة‬‫تر‬‫مفتاح‬‫االختصار‬"Alt F11:"‫انقر‬ ‫او‬
9
First Macro
‫َية‬‫مـ‬ ‫همام‬ ‫إمتام‬ ‫خسإ‬ ‫إًسِي‬ ‫من‬ ‫جيـي‬ ‫إملاهصو‬ ‫مسجي‬.
‫إًخاًَة‬ ‫إءإت‬‫ص‬‫ؤح‬‫ال‬‫إ‬ ‫هيفش‬ ‫سوف‬ ، ‫مثال‬ ‫ؤؾعاء‬‫ال‬:
‫معسة‬‫أ‬‫ل‬‫إ‬ ‫حمخوايت‬ ‫حشف‬A‫و‬C
‫إًـمود‬ ‫حمخوايت‬ ‫هلي‬B‫إًـمود‬ ‫ؤىل‬‫إ‬A
‫إًـمود‬ ‫حمخوايت‬ ‫هلي‬D‫إًـمود‬ ‫ؤىل‬‫إ‬C
‫ؿىل‬ ‫إهلص‬ ،‫تشكل‬ ‫ٌَلِام‬" "Ok" " Record Macro "‫إهلعاع‬ ‫دون‬ ٍ‫ؿال‬‫أ‬‫أ‬ ‫ملشهورة‬‫إ‬ ‫إءإت‬‫ص‬‫ؤح‬‫ال‬‫إ‬ ‫هفش‬
‫سجَهل‬‫ج‬ ‫سُمت‬ ‫ثفـهل‬ ‫ما‬ ‫لك‬ ‫ن‬‫أ‬‫ل‬‫ؿىل‬ ‫إضلط‬ ‫مث‬ ‫ومن‬" Stop Recording".
10
ٚ‫ا‬
Start Recording
Stop the Recording
‫رمز‬ ‫إىل‬ ‫وترصبتها‬ ‫اءاتك‬‫ر‬‫إج‬ ‫إكسيل‬ ‫سجل‬ ‫قد‬VBA.
‫بك‬ ‫اخلاص‬ ‫ادلاكرو‬ ‫لعرض‬
open the editor (Alt + F11) and click on "Module1" :
‫ادلسجلو‬ ‫اءات‬‫ر‬‫اإلج‬ ‫سبثل‬ ‫الشفرة‬ ‫ىذه‬
11
‫إكسيل‬ ‫انشأىا‬ ‫اليت‬ ‫الربرلية‬ ‫التعليمات‬ ‫يف‬ ‫للنظر‬ ‫حلظة‬ ‫نتوقف‬ ‫دعونا‬:
Sub Macro1()
'
' Macro1 Macro
'
'
Columns("A:A").Select
Selection.ClearContents
Columns("C:C").Select
Selection.ClearContents
Columns("B:B").Select
Selection.Cut Destination:=Columns("A:A")
Columns("D:D").Select
Selection.Cut Destination:=Columns("C:C")
Columns("C:C").Select
End Sub
Sub and End Sub‫ادلاكرو‬ ‫وهناية‬ ‫بداية‬ ‫ربديد‬"Macro1"‫ادلاكرو‬ ‫ىذا‬ ‫اسم‬ ‫ىو‬:
‫وتغيَت‬ ، ‫الوصف‬ ‫حيث‬ ‫من‬ ‫أكثر‬ ‫جلعلو‬ ‫ادلاكرو‬ ‫اسم‬ ‫نعدل‬ ‫دعونا‬"Macro1"‫إىل‬"column_handling"‫ال‬
‫ادلسافات‬ ‫أي‬ ‫على‬ ‫ادلاكرو‬ ‫اسم‬ ‫ػلتوي‬ ‫أن‬ ‫ؽلكن‬"
‫األخضر‬ ‫باللون‬ ‫النص‬)‫التعليق‬ ‫ىو‬ ‫أحادية‬ ‫اقتباس‬ ‫بعالمة‬ ‫سبق‬ ‫نص‬(‫الربرلية‬ ‫التعليمات‬ ‫تنفيذ‬ ‫يتم‬ ‫عندما‬ ‫ذباىلو‬ ‫وسيتم‬ ،:
'
' Macro1 Macro
'
‫التعليمات‬ ‫من‬ ‫الكثَت‬ ‫ىناك‬ ‫يكون‬ ‫عندما‬ ‫األشياء‬ ‫على‬ ‫للعثور‬ ‫جدا‬ ‫مفيدة‬ ‫تكون‬ ‫أن‬ ‫ؽلكن‬ ‫التعليق‬ ‫من‬ ‫النوع‬ ‫ىذا‬
‫الربرلية‬
Sub Macro1()
End Sub
Sub column_handling()
12
Sub column_handling()
'
'My first commentary !
'
Columns("A:A").Select
Selection.ClearContents
Columns("C:C").Select
Selection.ClearContents
Columns("B:B").Select
Selection.Cut Destination:=Columns("A:A")
Columns("D:D").Select
Selection.Cut Destination:=Columns("C:C")
Columns("C:C").Select
End Sub
‫ا‬‫و‬‫ادلاكر‬ ‫ىذا‬ ‫تنفيذ‬ ‫يد‬‫ر‬‫ن‬ ‫االن‬
Click on Insert > Button
‫بإنشائو‬ ‫قمت‬ ‫الذي‬ ‫ادلاكرو‬ ‫حدد‬ ‫فقط‬ ‫ذلك‬ ‫وبعد‬ ‫بك‬ ‫اخلاص‬ ‫الزر‬ ‫اج‬‫ر‬‫إد‬:
13
‫مث‬ ‫ؽلُت‬ ‫كليك‬‫الزر‬ ‫اسم‬ ‫تغيَت‬ ‫اردت‬ ‫اذا‬‫و‬
14
‫مان‬‫أ‬‫ل‬‫إ‬ ‫ؤؿسإدإت‬‫إ‬
‫ًلة‬ ‫ن‬‫أ‬‫أ‬ ‫مبا‬VBA،َََ‫ؿ‬ ‫إًربانمج‬ ‫ُشإ‬ ‫شلَي‬‫ج‬ ‫ًمت‬ ‫إذلي‬ ‫ابذلاسة‬ ‫ثرض‬ ‫كس‬ ‫إمج‬‫ص‬‫ج‬ ‫ؤوشاء‬‫ال‬ ‫إًحـظ‬ ‫خلَِا‬‫ٌس‬ ‫كس‬ َ‫ه‬‫أ‬‫أ‬ ‫ًـين‬ ‫فِشإ‬ ‫جصجمة‬ ‫ًلة‬ ‫يه‬
‫إمج‬‫رب‬ً‫إ‬ ٍ‫ُش‬ ‫مثي‬ ‫دعورة‬ ‫من‬ ‫ٌَحس‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫تـظ‬ ‫ؤضافة‬‫إ‬ ‫ماٍىصوسوفت‬ ‫رشنة‬ ‫كصرت‬ ‫ذلكل‬.
‫إًخاًَة‬ ‫إت‬‫و‬‫إرلع‬ ‫وفق‬ ‫إرلاضة‬ ‫إًيافشة‬ ‫ؤىل‬‫إ‬ ‫هسذي‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫ًخحسًس‬:
‫ؤهسي‬‫إ‬ ‫جصانمج‬ ‫زر‬ ‫ؿىل‬ ‫هضلط‬‫ؿىل‬ ‫مث‬Excel Options‫خنخار‬ ‫مث‬Trust Center‫زر‬ ‫ؿىل‬ ‫هضلط‬ ‫مث‬ ‫مئة‬‫ا‬‫إًل‬ ‫من‬Trust
Center Settings‫خنخار‬ ‫إدلسًسة‬ ‫إًيافشة‬ ‫ومن‬Macro Settings‫ًًل‬ ‫ما‬ ‫فِؼِص‬ ‫مئة‬‫ا‬‫إًل‬ ‫من‬:
‫يه‬ ‫إت‬‫ر‬‫إرلَا‬:
‫إمج‬‫ص‬‫ج‬ ‫شلَي‬‫ج‬ ‫من‬ ‫ؤهسي‬‫إ‬ ‫مييؽ‬ ‫إرلَار‬ ‫ُشإ‬VBA‫إملَف‬ ‫مؽ‬ ‫فلة‬‫ص‬‫إمل‬Disable all macros without notification
‫إرلَار‬ ‫ُشإ‬(‫إيض‬‫رت‬‫الاف‬ ‫وُو‬)‫ًـعي‬ ‫ًىن‬ ‫إًساتق‬ ‫مثي‬
‫إمج‬‫ص‬‫ج‬ ‫توحود‬ ‫خزسم‬‫ٌَمس‬ ً‫ا‬‫ثيخهي‬VBA‫شلََِا‬‫تد‬ ‫هل‬ ‫ٌسمح‬‫و‬
ً‫ا‬‫الحل‬ ‫موحض‬ ‫ُو‬ ‫نٌل‬
Disable all macros with notification
‫جصانمج‬ ‫اكن‬ ‫ؤن‬‫ا‬‫ف‬ ،‫إًساتلني‬ ‫ٍن‬‫ر‬‫إرلَا‬ ‫من‬ ‫مزجي‬ ‫إرلَار‬ ‫ُشإ‬VBA
ً‫ا‬‫ثوكِـ‬ ‫حيوي‬ ‫اكن‬ ‫ن‬‫ؤ‬‫إ‬‫و‬ ،‫ؤهسي‬‫ال‬‫إ‬ ‫ًخجاُهل‬ ً‫ا‬َ‫مق‬‫ر‬ ً‫ا‬‫ثوكِـ‬ ‫حيوي‬ ‫ال‬
‫شلَي‬‫تد‬ ‫ًلوم‬ ‫ن‬‫أ‬‫أ‬ ‫ذالهل‬ ‫من‬ ‫هل‬ ‫ٌسمح‬ ً‫ا‬‫ثيخهي‬ ‫خزسم‬‫إملس‬ ‫ًـعي‬
‫مجَؽ‬ ‫فذح‬ ‫ًمت‬ ‫ن‬‫أ‬‫أ‬ ‫مبـىن‬ ،ً‫ا‬‫دإمئ‬ ‫إًخوكِؽ‬ ‫تطاحة‬ ‫ًثق‬ ‫ن‬‫أ‬‫أ‬ ‫و‬‫أ‬‫أ‬ ‫إًربانمج‬
‫إل‬‫ؤ‬‫إًس‬ ‫دون‬ ً‫ا‬‫الحل‬ ‫إًخوكِؽ‬ ‫تيفس‬ ‫إملوكـة‬ ‫إمج‬‫رب‬ً‫إ‬.
Disable all macros except digitally signed
macros
‫إل‬‫ؤ‬‫س‬ ‫دون‬ ‫جصانمج‬ ‫ي‬‫أ‬‫أ‬ ‫شلَي‬‫تد‬ ‫ؤهسي‬‫ال‬ ‫ٌسمح‬ ‫إرلَار‬ ‫ُشإ‬
‫إرلَار‬ ‫ُشإ‬ ‫خزسإم‬‫إس‬ ‫ؿسم‬ ‫ًفضي‬‫و‬ ،‫خزسم‬‫إملس‬
Enable all macros
15
‫إمج‬‫ص‬‫ج‬ ‫حيوي‬ ‫ؤهسي‬‫إ‬ ‫مَف‬ ‫فذح‬ ‫ؾيس‬VBA‫و‬‫أ‬‫أ‬(‫ماهصو‬)‫كس‬ ‫اكن‬ ‫ؤن‬‫ا‬‫ف‬ ،ً‫ا‬‫حل‬‫مس‬ ‫خزسم‬‫إملس‬ ‫هل‬ ‫حسدُا‬ ‫إًيت‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫يف‬ ‫ًيؼص‬ ‫ماٍىصوسوفت‬ ََ‫سم‬‫ج‬ ‫نٌل‬
‫موحض‬ ‫ُو‬ ‫نٌل‬ ً‫ا‬‫ثيخهي‬ ‫هل‬ ‫ًؼِص‬ ‫إًثاًر‬ ‫و‬‫أ‬‫أ‬ ‫إًثاين‬ ‫إرلَار‬ ‫إدذار‬:
‫إًشلك‬(1-2):‫جصانمج‬ ‫وحود‬ َِ‫ثيخ‬VBAَ‫فذح‬ ‫ًمت‬ ‫إذلي‬ ‫إملَف‬ ‫يف‬ ‫ماهصو‬ ‫و‬‫أ‬‫أ‬
‫زر‬ ‫ؿىل‬ ‫ابًيلص‬Options‫إًخاًَة‬ ‫إًيافشة‬ ‫ثؼِص‬:
‫إًشلك‬(1-3):‫شلَهل‬‫ج‬ ‫هود‬ ‫إذلي‬ ‫ؤهسي‬‫إ‬ ‫مَف‬ ‫مضن‬ ‫إملوحود‬ ‫إملاهصو‬ ‫ثفـَي‬ ‫انفشة‬
‫خنخار‬ ‫فريوسات‬ ‫حيوي‬ ‫وال‬ ‫سَمي‬ ‫إًربانمج‬ ‫ن‬‫أ‬‫ب‬‫ت‬ ‫هثق‬ ‫نيا‬ ‫ؤن‬‫ا‬‫ف‬Enable this content‫مث‬OK‫هضلط‬ ‫ال‬‫ؤ‬‫إ‬‫و‬Cancel
16
MsgBox
‫مرونة‬ ‫أكثر‬ ‫ادلاكرو‬ ‫وحدات‬ ‫جلعل‬ ‫استخدامها‬ ‫ؽلكنك‬ ‫اليت‬ ‫البسيطة‬ ‫االتصال‬ ‫تقنيات‬ ‫بعض‬ ‫يف‬ ‫ننظر‬
‫ومفيدة‬.‫الدالة‬ ‫استخدم‬ ، ‫رسالة‬ ‫عرض‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬MsgBox،‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬ ‫مفيد‬ ‫أمر‬ ‫وىو‬
‫بسيط‬ ‫ال‬‫ؤ‬‫س‬ ‫ح‬‫طر‬ ‫أو‬ ‫ربذير‬ ‫رسالة‬ ‫عرض‬.
‫الطباعة‬ ‫عملية‬ ‫قبل‬ ‫التشغيل‬ ‫وضع‬ ‫يف‬ ‫الطابعة‬ ‫أن‬ ‫من‬ ‫للتأكد‬ ‫يد‬‫ر‬‫ت‬ ، ‫األول‬ ‫ادلثال‬ ‫يف‬.
‫الشكل‬ ‫يف‬ ‫التالية‬ ‫الربرلية‬ ‫التعليمة‬1-21‫من‬ ‫للتحقق‬ ‫فرصة‬ ‫ادلستخدم‬ ‫إعطاء‬ ،
‫الطابعة‬.‫افق‬‫و‬‫م‬ ‫الزر‬ ‫على‬ ‫النقر‬ ‫حىت‬ ‫ادلاكرو‬ ‫توقف‬ ‫و‬:
MsgBox “Please make sure that the printer is switched on”
17
Sub Test1()
MsgBox “Please make sure that the printer is switched on”
End Sub
MsgBox (prompt [, buttons] [, title] [, helpfile, context])
‫اجبارى‬-:‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫م‬ ‫يف‬ ‫كالرسالة‬‫تعرض‬ ‫أحرف‬ ‫سلسلة‬.‫ايل‬‫و‬‫ح‬ ‫الرسالو‬ ‫لطول‬ ‫األقصى‬ ‫احلد‬1024‫على‬ ً‫ا‬‫اعتماد‬ ،ً‫ا‬‫حرف‬
‫ادلستخدمة‬ ‫األحرف‬ ‫عرض‬.‫إرجاع‬ ‫حرف‬ ‫باستخدام‬ ‫األسطر‬ ‫فصل‬ ‫ؽلكنك‬ ، ‫سطر‬ ‫من‬ ‫أكثر‬ ‫من‬ ‫تتكون‬ ‫الرسالو‬ ‫كانت‬‫إذا‬
‫األسط‬ ‫تغذية‬ ‫أحرف‬‫و‬‫ر‬&chr (13) & Chr(10)&‫سطر‬ ‫كل‬‫بُت‬.‫او‬vbCrLf
MsgBox "NOTICE:" & Chr(13) & Chr(10) & "This is an Important Message!"
Prompt
‫اختياري‬.‫ىو‬ ‫قمي‬‫ر‬ ‫تعبَت‬‫النشط‬ ‫الزر‬‫و‬ ‫ادلصاحبو‬ ‫االيقونو‬ ‫وشكل‬ ‫ار‬‫و‬‫احل‬ ‫صندوق‬ ‫نافذه‬ ‫داخل‬ ‫تظهر‬ ‫الىت‬ ‫ار‬‫ر‬‫االز‬ ‫كيبو‬‫تر‬.‫إذا‬
‫ه‬ ‫ار‬‫ر‬‫لألز‬ ‫اضية‬‫ًت‬‫االف‬ ‫القيمة‬ ،‫حذفها‬ ‫مت‬‫ى‬00
buttons
‫اختياري‬.‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫دل‬ ‫ان‬‫و‬‫العن‬ ‫يط‬‫ر‬‫ش‬ ‫يف‬ ‫ادلعروضة‬ ‫األحرف‬ ‫سلسلة‬.‫يف‬ ‫التطبيق‬ ‫اسم‬ ‫وضع‬ ‫يتم‬ ،‫ان‬‫و‬‫العن‬ ‫حبذف‬ ‫قمت‬ ‫إذا‬
‫ان‬‫و‬‫العن‬ ‫يط‬‫ر‬‫ش‬.
title
‫اختياري‬.‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫دل‬ ‫السياق‬ ‫تتبع‬ ‫تعليمات‬ ‫لتوفَت‬ ‫الستخدامها‬ ‫التعليمات‬ ‫ملف‬ ‫ربدد‬ ‫أحرف‬ ‫سلسلة‬.‫ملف‬ ‫تقدًن‬ ‫مت‬ ‫إذا‬
‫السياق‬ ‫تقدم‬ ‫أن‬ ‫أيضا‬ ‫غلب‬ ،‫ادلساعدة‬.
helpfile
‫اختياري‬.‫التعليمات‬ ‫مؤلف‬ ‫قبل‬ ‫من‬ ‫ادلالئم‬ ‫التعليمات‬ ‫دلوضوع‬ ‫ادلخصصة‬ ‫ادلساعدة‬ ‫إطار‬ ‫قم‬‫ر‬ ‫ىو‬ ‫قمي‬‫ر‬ ‫تعبَت‬.‫توفَت‬ ‫مت‬ ‫إذا‬
‫ادلساعدة‬ ‫ملف‬ ‫تقدًن‬ ‫أيضا‬ ‫غلب‬ ،‫السياق‬.
context
Sub Exercise()
MsgBox ("Your logon credentials have been checked." & _
vbCrLf & "To complete your application, please " & _
"fill out the following survey")
End Sub
18
‫كز‬‫المر‬ ‫يحددىا‬ ‫التي‬ ‫المعايير‬
‫صحيح‬ ‫بشكل‬ ‫إدخاذلا‬ ‫مت‬ ‫ادلعلمات‬ ‫أن‬ ‫من‬ ‫للتأكد‬ ‫حباجة‬ ‫كنت‬،‫ادلكان‬ ‫خالل‬ ‫من‬ ‫معلمة‬ ‫بتحديد‬ ‫قمت‬ ‫إذا‬
.‫اصل‬‫و‬‫الف‬ ‫لتشمل‬ ‫أيضا‬ ‫ربتاج‬
•MsgBox “Is the printer on?”, , “Caution!”
‫اسم‬ ‫بواسطة‬ ‫محدد‬ ‫المعايير‬
•‫باالسم‬ ‫ادلعايَت‬ ‫ربديد‬ ‫عند‬ ‫ادلطلوبة‬ ‫اخلاصة‬ ‫ات‬‫ر‬‫االعتبا‬ ‫وبعض‬ ‫ايا‬‫ز‬‫ادل‬ ‫بعض‬ ‫ىناك‬:
❑‫اضافية‬ ‫اصل‬‫و‬‫ف‬ ‫تشمل‬ ‫أن‬ ‫إىل‬ ‫حباجة‬ ‫ولست‬ ‫أمر‬ ‫أي‬ ‫يف‬ ‫إدخاذلا‬ ‫ؽلكنك‬
❑‫استخدام‬ ‫إىل‬ ‫ربتاج‬= :‫من‬ ‫بدال‬=‫القيمة‬‫و‬ ‫ادلعلمة‬ ‫اسم‬ ‫بُت‬
MsgBox Title:=”Caution!”, Prompt:=”Is the printer on?”
‫قيم‬MsgBox
DescriptionValueConstant
OK1vbOK
Cancel2vbCancel
Abort3vbAbort
Retry4vbRetry
Ignore5vbIgnore
Yes6vbYes
No7vbNo
‫على‬ ‫مثال‬ ‫هو‬ ‫هنا‬MsgBox‫نعم‬ ‫فوق‬ ‫بالنقر‬ ‫المستخدم‬ ‫ٌقوم‬ ‫حتى‬ ‫حلقة‬ ً‫ف‬ ‫السطح‬ ‫على‬ ‫تطفو‬ ‫تستمر‬ ‫سوؾ‬ ً‫الت‬:
Sub humor()
Do
If MsgBox("Do you like the Excel-Pratique site ?", vbYesNo,
"Survey") = vbYes Then
Exit Do ' => ٗ‫االخبث‬ ٌٛ yes ٗ‫اٌسٍم‬ ٝٙٔ‫ا‬
End If
Loop While 1 = 1 ' => Infinite loop ٗ١‫ٔٙبئ‬ ‫ال‬ ٗ‫زٍم‬
MsgBox ";-)"
End Sub
19
DescriptionValueConstant
0vbOKOnly
1vbOKCancel
2vbAbortRetryIgnore
3vbYesNoCancel
4vbYesNo
5vbRetryCancel
16vbCritical
32vbQuestion
48vbExclamation
64vbInformation
First button is default0vbDefaultButton1
Second button is default256vbDefaultButton2
Third button is default512vbDefaultButton3
Fourth button is default768vbDefaultButton4
‫بع‬‫ر‬‫دل‬ ‫ادلستخدم‬ ‫يستجيب‬ ‫أن‬ ‫غلب‬ ‫مشروط؛‬ ‫تطبيق‬
‫احلايل‬ ‫التطبيق‬ ‫يف‬ ‫العمل‬ ‫متابعة‬ ‫قبل‬ ‫الرسالة‬
0vbApplicationModal
‫حىت‬ ‫التطبيقات‬ ‫كافة‬‫تعطيل‬ ‫يتم‬ ‫مشروط؛‬ ‫نظام‬
‫الرسالة‬ ‫بع‬‫ر‬‫دل‬ ‫ادلستخدم‬ ‫يستجيب‬
4096vbSystemModal
‫الرسالة‬ ‫بع‬‫ر‬‫م‬ ‫يف‬ ‫تعليمات‬ ‫زر‬ ‫يضيف‬16384vbMsgBoxHelpButton
‫أمامي‬ ‫كإطار‬‫الرسالة‬ ‫بع‬‫ر‬‫م‬ ‫إطار‬ ‫ػلدد‬65536vbMsgBoxSet
Foreground
‫اليمُت‬ ‫إىل‬ ‫زلاذاة‬ ‫النص‬524288vbMsgBoxRight
‫النص‬ ‫يظهر‬ ‫أن‬ ‫غلب‬ ‫تعُت‬-‫اليسار‬ ‫اىل‬ ‫اليمُت‬ ‫من‬
‫ية‬‫رب‬‫الع‬‫و‬ ‫بية‬‫ر‬‫الع‬ ‫األنظمة‬ ‫على‬ ‫اءة‬‫ر‬‫الق‬)‫يب‬‫ر‬‫تع‬(
1048576vbMsgBoxRtlReading
20
‫قيم‬16‫إىل‬64‫ويعطي‬ ‫تظهر؛‬ ‫اليت‬ ‫بالرموز‬ ‫التحكم‬32‫استفهام‬ ‫عالمة‬ ‫أيقونة‬.‫القيمة‬ ‫يد‬‫ر‬‫ت‬ ‫كنت‬‫إذا‬4‫وقيمة‬32
MsgBox Prompt:=”Delete this record?”, Buttons:=36
‫او‬
MsgBox Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion‫سوف‬
‫صبلة‬ ‫بناء‬ ‫يف‬ ‫خطأ‬ ‫على‬ ‫ربصل‬‫اذا‬:
Answer = MsgBox Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion‫مع‬ ‫ادلشكلة‬
‫الدالة‬ ‫وسيطات‬ ‫حول‬ ‫اس‬‫و‬‫أق‬ ‫ال‬ ‫ىناك‬ ‫أن‬ ‫الربرلية‬ ‫التعليمات‬ ‫من‬ ‫السابق‬ ‫السطر‬.
‫التايل‬ ‫النحو‬ ‫على‬ ‫يكون‬ ‫أن‬ ‫وينبغي‬:
Answer = MsgBox (Prompt:=”Delete this record?”, Buttons:=vbYesNo +
vbQuestion)
‫الرسالو‬ ‫كتابو‬‫على‬ ‫كيز‬‫الًت‬ ‫السابق‬ ‫ح‬‫الطر‬ ‫ىف‬ ‫يالحظ‬‫اد‬‫ر‬‫ادل‬ ‫الشى‬ ‫اى‬ ‫االسم‬ ‫باستخدام‬
‫ادخالو‬)‫ان‬‫و‬‫العن‬ ، ‫ار‬‫ر‬‫االز‬ ، ‫االسم‬….(
‫يكتب‬ ‫فكان‬Prompt:=”Delete this record?”
‫كز‬‫ادلر‬ ‫اسطو‬‫و‬‫ب‬ ‫الكتابو‬ ‫عن‬ ‫ماذا‬ ‫ولكن‬‫؟؟؟‬
‫يلى‬ ‫كما‬‫الرسالو‬ ‫فًتتيب‬ ‫الًتتيب‬ ‫اسطو‬‫و‬‫ب‬ ‫اى‬ ‫كز‬‫ادلر‬ ‫اسطو‬‫و‬‫ب‬
MsgBox([TEXT ‫,]إٌض‬ [BUTTONS ‫,]االصساس‬ [TITLE ْ‫)]اٌؼٕٛا‬
‫التاىل‬ ‫النحو‬ ‫على‬ ‫الرسالو‬ ‫تكتب‬
MsgBox("Text", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Title")
21
‫النتيج‬‫ه‬
‫اخر‬ ‫موضوع‬ ‫اىل‬ ‫التطرق‬ ‫وقبل‬ ‫لكن‬‫و‬...‫الرسالو؟؟؟‬ ‫ىف‬ ‫ار‬‫ر‬‫االز‬ ‫ىذه‬ ‫كل‬‫كتابو‬‫ؽلكنٌت‬ ‫ىل‬
‫ال‬
‫ال‬ ‫فمجموعو‬BUTTONS‫من‬ ‫القيمو‬ ‫صاحبو‬1‫اىل‬5‫اى‬ ‫الرسالو‬ ‫ىف‬ ‫ستظهر‬ ‫الًت‬ ‫ار‬‫ر‬‫االز‬ ‫سبثل‬yes no cancel…‫اخل‬
‫وزبتار‬ ‫يد‬‫ر‬‫ت‬ ‫ما‬ ‫حسب‬ ‫وعلى‬BUTTON‫منها‬ ‫فقط‬ ‫احد‬‫و‬
‫بينما‬BUTTONS‫القيم‬ ‫صاحبو‬)16 ,32,48,64(‫خطا‬ ‫ام‬ ‫استفهام‬ ‫ام‬ ‫تعجب‬ ‫ىى‬ ‫ىل‬ ‫الرسالو‬ ‫نوع‬ ‫سبثل‬..‫ؽلكنك‬‫و‬ ‫اخل‬
‫اما‬ ‫فقط‬ ‫احدعلا‬ ‫اختيار‬
‫بينما‬BUTTONS‫القيم‬ ‫صاحبو‬)0,256,512,768(‫من‬ ‫ار‬‫ر‬‫االز‬ ‫اى‬ ‫تعٌت‬ ‫فهى‬yes no cancel‫ان‬ ‫يدىا‬‫ر‬‫ت‬
‫للمستخدم‬ ‫مضيئو‬ ‫اى‬ ‫اضيو‬‫ًت‬‫االف‬ ‫تكون‬
‫االتى‬ ‫مالحظو‬ ‫مع‬:
1-‫اضيو‬‫ًت‬‫االف‬ ‫ار‬‫ر‬‫االز‬ ‫فيظهر‬ ‫ار‬‫ر‬‫االز‬ ‫تلك‬ ‫من‬ ‫اى‬ ‫اختيار‬ ‫عدم‬ ‫ؽلكنك‬)(ok
2-‫امى‬‫ز‬‫ال‬ ‫ليس‬‫و‬ ‫اختيارى‬ ‫الرسالو‬ ‫ىف‬ ‫وجودىا‬ ‫ان‬ ‫حيث‬ ‫ار‬‫ر‬‫االز‬ ‫تلك‬ ‫من‬ ‫فقط‬ ‫يناسبك‬ ‫ما‬ ‫اختيار‬ ‫ؽلكنك‬
3-‫عالمو‬ ‫الرسالو‬ ‫ىف‬ ‫االخر‬‫و‬ ‫زر‬ ‫كل‬‫بُت‬ ‫يفصل‬+
4-‫باالعلى‬ ‫للرسالو‬ ‫يو‬‫و‬‫مسا‬ ‫وىى‬ ‫يلى‬ ‫كما‬‫الوصف‬ ‫او‬ ‫االسم‬ ‫ليس‬‫و‬ ‫بالقيمو‬ ‫الرسالو‬ ‫عن‬ ‫التعبَت‬ ‫يكون‬ ‫ان‬ ‫ؽلكن‬
MsgBox("Text", 3 + 48 + 256, "Title")
22
‫الحظ‬ ‫ا‬‫َت‬‫اخ‬‫و‬
‫استخدمت‬ ‫اذا‬‫االول‬ ‫اثنان‬ ‫عددىم‬ ‫ار‬‫ر‬‫از‬ ‫لديك‬ ‫انت‬yes‫الثاىن‬‫و‬cancel‫لذلك‬
‫جلعل‬yes‫طلتار‬ ‫اضى‬‫ًت‬‫اف‬vbDefaultButton1‫جلعل‬ ‫بينما‬cancel‫نكتب‬ ‫اضى‬‫ًت‬‫اف‬vbDefaultButton2‫اذا‬ ‫بادلثل‬‫و‬ ‫ا‬
‫ار‬‫ر‬‫از‬ ‫ثالثو‬ ‫اخًتت‬.........
‫بُت‬ ‫من‬ ‫االختيار‬ ‫ؽلكنك‬
23
24
Selections (sheets and cells)
‫إرلََة‬ ‫حيسد‬ ‫إذلي‬ ‫ماهصو‬ ‫وشاء‬‫ابؤ‬ ‫أ‬‫أ‬‫هحس‬ ‫سوف‬‫إًىت‬‫حتسًس‬ ‫ًس‬‫ص‬‫ى‬‫ُا‬ .
‫منعَة‬ ‫وحسة‬ ‫ضافة‬‫ؤ‬‫إ‬‫و‬ ‫إحملصر‬ ‫إفذح‬ ً‫ال‬‫و‬‫أ‬‫أ‬-:
‫إنخة‬ ،‫منعَة‬ٍ‫إ‬ ‫إًوحسة‬ ‫يف‬" sub selection "‫ؿىل‬ ‫إضلط‬‫و‬Enter.
‫تالحظ‬‫أن‬Excel‫قام‬‫تعبئتها‬ً‫ا‬‫تلقائي‬‫يف‬‫هناية‬‫ىذا‬‫اء‬‫ر‬‫اإلج‬‫اجلديد‬:
Sub selection()
End Sub
‫إملاهصو‬ ‫ُشإ‬ ‫تط‬‫ص‬‫ح‬ ‫سوف‬ ‫إًيت‬ ‫إًطَلة‬ ‫زر‬ ‫ؤوشاء‬‫إ‬ ‫ن‬‫آ‬‫ل‬‫إ‬)‫ن‬‫آ‬‫ل‬‫إ‬ ‫حىت‬ ‫فارغ‬ َ‫ه‬‫أ‬‫أ‬)
25
‫إًىود‬ ‫ُشإ‬ ‫مؽ‬ ‫تم‬ ‫إرلاص‬ ‫ملاهصو‬‫إ‬ ‫ؤنٌلل‬‫إ‬-:
Sub selection()
'Select cell A8
Range("A8").Select
End Sub
‫إرلََة‬ ‫حتسًس‬ ‫مت‬ ‫ن‬‫أ‬‫أ‬ ‫حصون‬ ‫وسوف‬ ،‫تم‬ ‫إرلاضة‬ ‫إًطَلة‬ ‫زر‬ ‫ؿىل‬ ‫ابًضلط‬ ‫إملاهصو‬ ‫ُشإ‬ ‫إدذحار‬ ‫ميىٌم‬A8‫ن‬‫آ‬‫ل‬‫إ‬.
‫خيخار‬ ‫حبَر‬ ‫إملاهصو‬ ‫حنصر‬ ‫سوف‬ ‫ن‬‫آ‬‫ل‬‫إ‬ ‫وحنن‬A8‫هَة‬‫ا‬‫إًث‬ ‫إًـمي‬ ‫وركة‬ ‫يف‬:
Sub selection()
'Activating of Sheet 2
Sheets("Sheet2").Activate
'Selecting of Cell A8
Range("A8").Select
End Sub
‫وركة‬ ‫ًًشط‬ ‫ن‬‫آ‬‫ل‬‫إ‬ ‫َي‬‫ؤهس‬‫إ‬2‫حيسد‬ ‫مث‬A8
‫مالحؼة‬:‫خـََلات‬ً‫إ‬(‫درض‬‫أ‬‫ل‬‫إ‬ ‫ٌَون‬‫اب‬ ‫ًيص‬‫إ‬)‫حصَح‬ ‫ثشلك‬ ‫إدلورة‬ ٍ‫ُش‬ ‫يف‬ ‫ملاهصو‬‫إ‬ ‫وحسإت‬ ‫فِم‬ ‫ؿىل‬ ‫جساؿسك‬.
‫حتسًس‬‫ذالاي‬‫خمخَفة‬
Sub selection()
'Selecting A8 and C5
Range("A8, C5").Select
End Sub
‫حتسًس‬‫هعاق‬‫من‬‫إرلالاي‬
Sub selection()
'Selecting cells A1 ٝ‫زز‬ A8
Range("A1:A8").Select
End Sub
‫إمسِا‬ ‫ثلَري‬ ‫مت‬ ‫إًيت‬ ‫إرلالاي‬ ‫من‬ ‫ٍلوؿة‬ ‫حتسًس‬
Sub selection()
'Selecting cells from the "my_range" range
Range("my_range").Select
End Sub
26
‫اختار‬‫و‬ ‫ؽلُت‬ ‫كلك‬‫او‬
‫ىنا‬ ‫االسم‬ ‫ادخل‬
‫تغيَت‬ ‫سم‬ ‫اخلاليا‬ ‫بتحديد‬ ‫االسم‬ ‫تغيَت‬ ‫يتم‬ ‫ىكذا‬
‫ىنا‬ ‫امسها‬
27
‫العمود‬ ‫قم‬‫ر‬‫و‬ ‫الصف‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫اخللية‬ ‫اختيار‬
Sub selection()
‫اٌظف‬ ٝ‫ف‬ ٗ١ٍ‫اٌخ‬ ‫رسذ٠ذ‬8‫ٚاٌؼّٛد‬1
Cells(8, 1).Select
End Sub
‫الزظ‬
Cells([row] [,column])
'Examples of the Cells property
Sub CellsExample()
Cells.Clear 'clears active selection
Cells(1).Value = "This is A1 - row 1"
Cells(, 1).Value = "This is A1 - col 1"
Cells(1, 1).Value = "This is A1 - explicit"
Cells(3, 3).Value = "This is C3"
Cells(5, 3).Font.Bold = True
End Sub
‫دٌنامٌكٌة‬ ‫أكثر‬ ‫لتحدٌدات‬ ‫تسمح‬ ‫الخالٌا‬ ‫تحدٌد‬ ً‫ف‬ ‫طرٌقة‬.
‫مثال‬ ‫هو‬ ‫هنا‬
Sub selection()
' ‫الصؾ‬ ‫فى‬ ‫خلٌة‬ ‫ل‬ ً‫عشوائ‬ ‫تحدٌد‬1‫إلى‬10‫والعمود‬1
Cells(Int(Rnd * 10) + 1, 1).Select
'Translation :
'Cells([random_number_between_1_and_10], 1).Select
End Sub
Moving a selection ‫حذشٚك‬‫انخذذٚذ‬
Sub selection()
'‫رسذ٠ذ‬‫خٍ١خ‬(‫اٌخٍ١خ‬‫إٌشـخ‬‫زبٌ١ب‬)
ActiveCell.Offset(2, 1).Select
End Sub
‫يك‬‫ر‬‫رب‬‫بع‬‫ر‬‫م‬‫التحديد‬‫الصفوف‬‫اثنُت‬‫إىل‬‫أسفل‬‫وعمود‬‫احد‬‫و‬‫إىل‬
‫اليمُت‬:
‫رشح‬ ‫سُمت‬Offset‫ىف‬ ً‫ا‬‫الحل‬ ‫خفطَي‬ً‫اب‬
‫إًىذاب‬ ‫ُشإ‬
28
‫ربديد‬‫الصفوف‬
‫فمن‬‫ادلمكن‬‫لتحديد‬‫صفوف‬‫استخدام‬‫امر‬‫و‬‫األ‬Range or Rows
Sub selection()
'Selecting rows 2 to 6
Range("2:6").Select
End Sub
‫او‬
Sub selection()
'Selecting rows 2 to 6
Rows("2:6").Select
End Sub
‫األعمدة‬ ‫ربديد‬
‫كما‬‫ىو‬‫احلال‬‫مع‬،‫الصفوف‬‫من‬‫ادلمكن‬‫لتحديد‬‫أعمدة‬‫بأكملها‬‫استخدام‬‫امر‬‫و‬‫األ‬Range or Columns
Sub selection()
'Selecting columns B to G
Range("B:G").Select
End Sub
‫او‬
Sub selection()
'Selecting columns B to G
Columns("B:G").Select
End Sub
29
Properties (sheets and cells)
‫يف‬‫ىذا‬،‫ين‬‫ر‬‫التم‬‫سوف‬‫نكتب‬‫تعليمات‬VBA‫الربرلية‬‫اليت‬‫تقوم‬‫بتعديل‬‫احملتوى‬‫وظهور‬‫اخلاليا‬‫اق‬‫ر‬‫أو‬‫و‬‫العمل‬.
ً‫ال‬‫و‬‫أ‬‫افتح‬،‫احملرر‬‫إضافة‬‫وحدة‬‫ظلطية‬‫نسخ‬‫و‬‫ادلاكرو‬‫أدناه‬،‫فيو‬‫بطو‬‫ر‬‫و‬‫بزر‬‫صيغة‬
Sub properties()
'Incomplete Macro
Range ("A8")
End Sub
‫أننا‬‫يد‬‫ر‬‫ن‬‫لتعديل‬‫اخللية‬A8‫يف‬‫بداية‬‫ىذا‬‫ادلاكرو‬.
‫لعرض‬‫قائمة‬‫األشياء‬‫ادلمكنة‬‫اليت‬‫ؽلكن‬‫أن‬‫تكون‬‫نة‬‫ًت‬‫مق‬‫بكائن‬،‫النطاق‬‫إضافة‬‫فًتة‬‫ما‬‫بعد‬Range("A8")
‫سيتم‬‫اآلن‬‫عرض‬‫دلختلف‬‫االحتماالت‬...
‫يف‬‫ىذا‬‫ادلثال‬،‫األول‬‫انقر‬‫على‬"Value""،‫ومن‬‫مث‬‫على‬‫مفتاح‬Tab‫للتحقق‬‫من‬‫صحة‬‫اختيارك‬
Sub properties()
'Incomplete Macro
Range("A8").Value
End Sub
‫يف‬‫ىذه‬،‫احلالة‬‫اخلاصية‬value،‫سبثل‬‫يات‬‫و‬‫زلت‬‫اخللية‬.‫القيمو‬ ‫تعيُت‬ ‫من‬ ‫البد‬ ‫لذلك‬‫و‬
‫سوف‬‫نعُت‬‫القيمة‬48‫إىل‬‫اخللية‬A8:
Sub properties()
'A8 = 48
Range("A8").Value = 48
'Translation :
'The value of cell A8 is equal to 48
End Sub
‫مث‬‫أننا‬‫سوف‬‫نص‬ ‫نعُت‬Sample text‫إىل‬‫اخللية‬A8)‫ىام‬:‫غلب‬‫أن‬‫يكون‬‫النص‬‫داخل‬:(""
30
Sub properties()
'A8 = Sample text
Range("A8").Value = "Sample text"
End Sub
‫اخلليو‬ ‫قيمو‬ ‫تعديل‬ ‫يتم‬ ‫سوف‬ ‫فانو‬ ‫الزر‬ ‫على‬ ‫ضغطت‬ ‫اذا‬A8‫قو‬‫ر‬‫بالو‬ ‫الزر‬ ‫كان‬‫اذا‬‫و‬ ‫االوىل‬ ‫قو‬‫ر‬‫يالو‬ ‫الزر‬ ‫كان‬‫اذا‬ ‫االوىل‬ ‫الورق‬ ‫ىف‬
‫اخلليو‬ ‫بتعديل‬ ‫يقوم‬ ‫سوف‬ ‫الثانيو‬A8‫استخدم‬ ‫التنفيذ‬ ‫زر‬ ‫مكان‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ‫معينو‬ ‫قو‬‫ر‬‫و‬ ‫ىف‬ ‫خليو‬ ‫قيمو‬ ‫تغيَت‬ ‫اردت‬ ‫اذا‬ ‫اما‬
Sheets("Name_of_the_sheet") or Sheets(Number_of_the_sheet).
‫عليها‬ ‫التعديل‬ ‫احداث‬ ‫اد‬‫ر‬‫ادل‬ ‫الصفحو‬ ‫لتحديد‬ ‫لذلك‬‫و‬
Sub properties()
'A8 on sheet 2 = Sample text
Sheets("Sheet2").Range("A8").Value = "Sample text"
'Or :
'Sheets(2).Range("A8").Value = "Sample text"
End Sub
‫ذا‬‫أردنا‬‫تعديل‬‫اخللية‬A8‫على‬‫قة‬‫ر‬‫الو‬2‫من‬‫مصنف‬‫آخر‬‫مفتوح‬
Workbooks("Name_of_the_file").
Sub properties()
'A8 on sheet 2 of workbork 2 = Sample text
Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A8").Value = "Sample
text"
End Sub
‫على‬‫الرغم‬‫من‬‫أننا‬‫استخدام‬‫القيمة‬Value‫يف‬‫ىذه‬،‫األمثلة‬‫ال‬‫ربتاج‬ً‫حقا‬،‫الستخدامها‬‫ألنو‬‫مل‬ ‫إذا‬‫يتم‬‫ربديد‬‫أي‬‫شيء‬
،‫آخر‬‫ستكون‬‫قيمة‬‫اخلليةا‬.
‫على‬‫سبيل‬،‫ادلثال‬‫سيكون‬‫ىذين‬‫اخلطُت‬‫نفس‬‫التأثَت‬:
Range("A8").Value = 48
Range("A8") = 48
‫االتى‬ ‫الحظ‬….‫معينو‬ ‫صفحو‬ ‫داخل‬ ‫خليو‬ ‫بقيمو‬ ‫يف‬‫ر‬‫التع‬
Worksheets("sheet….‫الصفحو‬ ‫قم‬‫ر‬ .").cells(‫الصف‬ ‫قم‬‫ر‬,‫العمود‬ ‫قم‬‫ر‬ ).value
31
‫مسح‬‫يات‬‫و‬‫زلت‬‫اخللية‬
Sub properties()
'Erase the contents of column A
Range("A:A").ClearContents
End Sub
‫تنسيق‬‫النص‬
‫عندما‬‫تقوم‬‫بفتح‬Font.،‫سوف‬‫تظهر‬‫القائمة‬‫اخلصائص‬‫اليت‬‫ؽلكن‬‫تطبيقها‬‫على‬‫تنسيق‬‫النص‬:
‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫إًيص‬ ‫جحم‬ ‫ثلَري‬
Sub properties()
'Edit the size of text in cells A1 through A8
Range("A1:A8").Font.Size = 18
End Sub
‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫حـي‬‫إًيص‬ً‫ا‬‫كامل‬
Sub properties()
'Make cells A1 through A8 bold
Range("A1:A8").Font.Bold = True
End Sub
Bold = True ‫تعٌت‬‫غامق‬ ‫خبط‬ ‫االحرف‬ ‫تظهر‬ ‫سوف‬ = Yes.
32
‫الة‬‫ز‬‫إل‬‫التنسيق‬"‫غامق‬"‫من‬،‫النص‬‫كل‬‫ما‬‫عليك‬‫فعلو‬‫استبدال‬"‫نعم‬"‫مع‬"‫ال‬"،‫أو‬‫بعبارة‬،‫أخرى‬"true"‫مع‬"False:"
Sub properties()
'Remove "bold" formatting from cells A1 through A8
Range("A1:A8").Font.Bold = False
End Sub
Formatting : italicize text
Sub properties()
'Italicize cells A1 through A8
Range("A1:A8").Font.Italic = True
End Sub
Formatting : underline text
Sub properties()
'Underline cells A1 through A8
Range("A1:A8").Font.Underline = True
End Sub
‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫ثـَني‬‫إرلط‬
Sub properties()
'Edit font in cells A1 through A8
Range("A1:A8").Font.Name = "Arial"
End Sub
33
‫ضافة‬‫ؤ‬‫إ‬‫إذلسود‬
Sub properties()
'Add a border to cells A1 to A8
Range("A1:A8").Borders.Value = 1
'Value = 0 => no border
End Sub
‫ثلَري‬‫َق‬‫ًس‬‫ث‬‫إرلالاي‬‫إحملسدة‬‫حاًَا‬
Sub properties()
'Add a border to selected cells
Selection.Borders.Value = 1
End Sub
‫ثلَري‬‫دطائص‬‫ًوركة‬‫معي‬
Sub properties()
'Hide a worksheet ٗ‫ِزبز‬ ‫غ١ش‬ ‫خؼٍٙب‬ ٚ‫ا‬ ٗ‫اٌٛسل‬ ‫اخفبء‬
Sheets("Sheet3").Visible = 0
'Visible = -1 => cancels the effect
End Sub
‫تغيَت‬‫قيمة‬‫خلية‬ً‫استنادا‬‫إىل‬‫خلية‬‫أخرى‬
‫يف‬‫ىذه‬،‫احلالة‬‫ضلن‬‫يد‬‫ر‬‫ن‬A7‫يأخذ‬‫قيمتو‬‫من‬A1:
34
Sub properties()
'A7 = A1
Range("A7") = Range("A1")
'Or :
'Range("A7").Value = Range("A1").Value
End Sub
‫إذا‬‫أردنا‬‫فقط‬‫نسخ‬‫حجم‬‫النص‬‫من‬‫خلية‬،‫أخرى‬
Sub properties()
Range("A7").Font.Size = Range("A1").Font.Size
End Sub
‫أي‬‫شيء‬‫على‬‫اجلانب‬‫األيسر‬=‫يأخذ‬‫قيمة‬‫ما‬‫ىو‬‫على‬‫اجلانب‬‫األؽلن‬
‫ال‬‫تنسى‬‫أن‬‫لقد‬‫باستخدام‬ ‫قدمنا‬‫أقلية‬‫ضئيلة‬‫من‬‫التخصيصات‬‫احملتملة‬‫اليت‬‫ؽلكن‬‫القيام‬‫بو‬‫مع‬VBA.
‫إذا‬‫مل‬‫تكن‬‫اخلاصية‬‫اليت‬‫كنت‬‫تبحث‬‫عن‬‫وصف‬‫ذلا‬ ‫بالتفصيل‬‫ىنا،احبث‬‫عنها‬‫يف‬‫قائمة‬‫اخلصائص‬‫يف‬Excel‫أو‬‫يف‬‫ملفات‬
"‫التعليمات‬"‫يف‬Excel.
‫مسجل‬‫ادلاكرو‬‫ؽلكن‬‫أيضا‬‫حفظ‬‫لك‬‫الكثَت‬‫من‬‫الوقت‬‫إذا‬‫كنت‬‫ال‬‫تعرف‬‫اسم‬‫اخلاصية‬.‫إذا‬‫قمت‬‫بتسجيل‬‫اءات‬‫ر‬‫اإلج‬‫اليت‬
‫ربتاج‬،‫إليها‬‫فإنو‬‫سيكون‬‫من‬‫السهل‬‫إغلاد‬‫اسم‬‫اخلاصية‬‫حبيث‬‫ؽلكنك‬‫بعد‬‫ذلك‬‫استخدامو‬‫يف‬‫ادلاكرو‬‫اخلاص‬‫بك‬.
‫تغيَت‬‫قيمة‬‫خلية‬ً‫استنادا‬‫إىل‬‫القيمة‬‫اخلاصة‬‫بو‬
‫قٌمة‬ ‫زٌادة‬ ‫سٌتم‬ ،‫نضؽط‬ ‫مرة‬ ‫كل‬ ً‫ف‬A1‫بنسبة‬1:
Sub properties()
'A7 = A1
Range("A7") = Range("A1")
'Or :
'Range("A7").Value = Range("A1").Value
End Sub
35
With...End With Statement
with‫بنية‬ ‫أو‬ ‫احد‬‫و‬ ‫لكائن‬ ‫متكرر‬ ‫بشكل‬ ‫تشَت‬ ‫اليت‬ ‫امر‬‫و‬‫اال‬ ‫من‬ ‫سلسلة‬ ‫ينفذ‬.
With
Statement
End With
Definitionterm
‫بُت‬ ‫البيانات‬ ‫من‬ ‫أكثر‬ ‫أو‬ ‫احد‬‫و‬With and End With
‫كائن‬‫اد‬‫ر‬‫أف‬ ‫إىل‬ ‫تشَت‬
statements
Sub ChangeFont ()
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 12
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.ColorIndex = 5
End Sub
‫وبإستخدام‬With‫ار‬‫ر‬‫لتك‬ ‫مضطر‬ ‫غَت‬ ‫اصبحت‬Selection.Font
Sub ChangeFont ()
With Selection.Font
.Name = "Times New Roman"
.Size = 12
.Bold = True
.Italic = True
.ColorIndex = 5
End With
End Sub
36
‫ىذا‬ً‫ايضا‬ ‫الرمز‬‫غلعل‬‫من‬‫ادلمكن‬‫تعيُت‬‫خصائص‬‫سلتلفة‬‫من‬‫اخللية‬‫النشطة‬:
Sub properties()
ActiveCell.Borders.Weight = 3
ActiveCell.Font.Bold = True
ActiveCell.Font.Size = 18
ActiveCell.Font.Italic = True
ActiveCell.Font.Name = "Arial"
End Sub
‫يف‬‫ىذه‬،‫احلالة‬‫ؽلكن‬‫استخدام‬with‫لتجنب‬‫ار‬‫ر‬‫االضط‬‫إىل‬‫ار‬‫ر‬‫تك‬ActiveCell.
Sub properties()
'Beginning of instructions using command: WITH
With ActiveCell
.Borders.Weight = 3
.Font.Bold = True
.Font.Size = 18
.Font.Italic = True
.Font.Name = "Arial"
'End of instructions using command: END WITH
End With
End Sub
‫ايضا‬ ‫الحظ‬
Sub properties()
With ActiveCell
.Borders.Weight = 3
With .Font
.Bold = True
.Size = 18
.Italic = True
.Name = "Arial"
End With
End With
End Sub
37
Colors
‫نا‬‫و‬‫دع‬‫نبدأ‬‫بتعيُت‬‫لون‬‫النص‬‫يف‬A1.
‫ؤضافة‬‫إ‬ ‫تـس‬Font.‫ًيدِجة‬‫إ‬ ٍ‫ُش‬ ‫ؿىل‬ ‫حنطي‬ ،:
‫ىناك‬‫يقتُت‬‫ر‬‫ط‬‫سلتلفتُت‬‫ؽلكن‬‫أن‬‫ربدد‬‫اللون‬
:ColorIndex،‫اليت‬‫لديها‬56‫لون‬
‫اإلطالق‬ ‫على‬ ‫لون‬ ‫أي‬ ‫استخدام‬ ‫الممكن‬ ‫من‬ ‫ٌجعل‬ ‫الذى‬ ‫اللون‬ ‫او‬.
ColorIndex
‫لتعيُت‬‫لون‬‫النص‬‫إىل‬‫احد‬‫و‬‫من‬‫ىذه‬56‫لون‬
38
Sub example()
'Text color for A1 : green (Color num. 10)
Range("A1").Font.ColorIndex = 10
End Sub
‫ىذا‬‫الكود‬‫سوف‬‫يعطينا‬‫النتيجة‬‫التالية‬:
Color
ََ‫ذاض‬Color‫الامص‬ ‫خزسإم‬‫ؤس‬‫إ‬ ‫ؾيس‬ ‫مشي‬‫أ‬‫أ‬‫و‬ ‫إوسؽ‬ ََ‫ذاض‬(RGB)‫حِر‬
‫الامحص‬ ‫وىه‬ ََ‫ئُس‬‫ر‬ ‫إن‬‫و‬ً‫إ‬ َ‫زالز‬ ‫مزج‬ ‫ؾن‬ ٍ‫ؾحار‬ ‫الاًوإن‬ ‫مجَؽ‬((Red‫والادرض‬(Green)‫والازرق‬(Blue)‫ؤذش‬‫اي‬‫و‬
‫من‬ ‫إًلمي‬ َ‫إًساتل‬ ‫الاًوإن‬ ‫من‬ ‫ًون‬ ‫لك‬0‫إىل‬255
Sub example()
'Text color for A1 : RGB(50, 200, 100)
Range("A1").Font.Color = RGB(50, 200, 100)
End Sub
‫الاًوإن‬ ‫ضيسوق‬ ‫إىل‬ ‫ابذلُاب‬ ‫ًون‬ ‫الى‬ ‫مللاتهل‬‫إ‬ ‫كام‬‫ر‬‫الا‬ ‫كمي‬ َ‫ف‬‫ص‬‫مـ‬ ‫خعَؽ‬‫جس‬‫و‬(َِ‫إرلَف‬ ‫ًون‬ ‫إو‬ ‫إرلط‬ ‫ًون‬)‫خنخار‬ ‫مث‬
(More Color)ٍ‫إًيافش‬ ‫خنخار‬ ‫ومهنا‬(Custom)ََ‫ذاض‬ ‫الاسفي‬ ‫ىف‬ ‫يجس‬‫وس‬(RGB)‫ٌَون‬ ‫مللاتهل‬‫إ‬ َ‫ًثالز‬‫إ‬ ‫كام‬‫ر‬‫والا‬
‫إحملسد‬
39
‫ل‬ ‫إد‬‫و‬‫إه‬ ‫وُشإ‬56ََ‫خباض‬ ‫ًون‬HTML
Excel Color Index in Hex
#000000 #993300 #333300 #003300 #003366 #000080 #333399 #333333
#800000 #FF6600 #808000 #008000 #008080 #0000FF #666699 #808080
#FF0000 #FF9900 #99CC00 #339966 #33CCCC #3366FF #800080 #969696
#FF00FF #FFCC00 #FFFF00 #00FF00 #00FFFF #00CCFF #993366 #C0C0C0
#FF99CC #FFCC99 #FFFF99 #CCFFCC #CCFFFF #99CCFF #FF99CC #FFFFFF
‫مثال‬
Sub example()
'Text color for A1 : RGB(192, 32, 255)
Range("A1").Font.Color = RGB(192, 32, 255)
End Sub
‫إضافة‬‫حدود‬‫نة‬‫و‬‫مل‬
‫إنشاء‬‫ماكرو‬‫يضيف‬‫حدود‬‫إىل‬‫اخللية‬‫النشطة‬‫باستخدام‬ActiveCell.
‫احلدود‬‫سوف‬‫تكون‬‫ثقيلة‬‫األضبر‬‫و‬:
Sub example()
'Border weight
ActiveCell.Borders.Weight = 4
'Border color : red
ActiveCell.Borders.Color = RGB(255, 0, 0)
End Sub
‫وتستخدم‬‫ىكذا‬
Range("A1").Font.Color = #FFFFFF
40
‫لتطبيق‬‫ىذا‬‫التأثَت‬‫على‬‫العديد‬‫من‬‫اخلاليا‬‫يف‬‫وقت‬،‫احد‬‫و‬‫ؽلكن‬‫أن‬‫نستخدم‬‫أمر‬Selection:
Sub example()
'Border weight
Selection.Borders.Weight = 4
'Border color : red
Selection.Borders.Color = RGB(255, 0, 0)
End Sub
‫إضافة‬‫لون‬‫اخللفية‬‫للخاليا‬‫احملددة‬
Sub example()
'Add background color to the selected cells
Selection.Interior.Color = RGB(174, 240, 194)
End Sub
‫اضافة‬‫لون‬‫إىل‬‫عالمة‬‫يب‬‫و‬‫التب‬‫قة‬‫ر‬‫لو‬‫عمل‬
Sub example()
'Add color to the tab for "Sheet1"
Sheets("Sheet1").Tab.Color = RGB(255, 0, 0)
End Sub
‫استخدام‬ ،‫القياسية‬ ‫ان‬‫و‬‫األل‬ ‫استخدام‬ ‫إىل‬ ‫حباجة‬ ‫كنت‬‫إذا‬VBً‫ال‬‫مث‬ ‫اللون‬ ‫مث‬
vbBlack،vbRed،vbGreen،vbYellow،vbBlue،vbMagenta،
vbCyan‫أو‬ ،vbWhite.
41
‫اخللية‬ ‫غلعل‬ ‫التالية‬ ‫العبارة‬ ،‫ادلثال‬ ‫سبيل‬ ‫على‬A1
‫األصفر‬:
Range(“A1”).Interior.Color = vbYellow
‫ًوإن‬‫الا‬ ‫خسول‬ ‫كل‬ ‫ًـعى‬ ‫وشلهل‬ ‫مودًول‬ ‫ىف‬ َ‫توضـ‬ ‫مق‬ ‫هود‬ ‫ُو‬ ‫وُا‬
ََ‫خباض‬Rgpََ‫وذاض‬HTML
Sub colors56()
'57 colors, 0 to 56
Dim i As Long
Dim str0 As String, str As String
Cells(1, 1) = "Interior"
Cells(1, 2) = "Font"
Cells(1, 3) = "HTML"
Cells(1, 4) = "RED"
Cells(1, 5) = "GREEN"
Cells(1, 6) = "BLUE"
Cells(1, 7) = "COLOR"
For i = 0 To 56
Cells(i + 2, 1).Interior.ColorIndex = i
Cells(i + 2, 2).Font.ColorIndex = i
Cells(i + 2, 2).Value = "[Color " & i & "]"
str0 = Right("000000" & Hex(Cells(i + 2, 1).Interior.Color), 6)
'Excel shows nibbles in reverse order so make it as RGB
str = Right(str0, 2) & Mid(str0, 3, 2) & Left(str0, 2)
'generating 2 columns in the HTML table
Cells(i + 2, 3) = "#" & str
Cells(i + 2, 4).Formula = "=Hex2dec(""" & Right(str0, 2) & """)"
Cells(i + 2, 5).Formula = "=Hex2dec(""" & Mid(str0, 3, 2) & """)"
Cells(i + 2, 6).Formula = "=Hex2dec(""" & Left(str0, 2) & """)"
Cells(i + 2, 7) = "[Color " & i & "]"
Next i
End Sub
42
The Line Style of a Border ‫منط‬‫دط‬‫إذلسود‬
The Weight of a Border
Range("B18:C18").Borders(xlEdgeBottom).LineStyle = xlContinuous
Range("B18:C18").Borders(xlEdgeBottom).Weight = xlThin
xlHairline ً‫جدا‬ ‫فيع‬‫ر‬ ‫خط‬
xlThin ‫فيع‬‫ر‬ ‫خط‬
xlMedium ‫متوسط‬ ‫خط‬
xlThick ‫غليظ‬ ‫خط‬
‫دِح‬‫اٌخال٠ب‬ H15, I15, H16, and I16
Range("H15:I16").MergeCells = True
‫ِسبراح‬‫إٌض‬‫اٌّذِح‬‫ٌٍ١غبس‬
Range("H15:H16").VerticalAlignment = xlCenter
‫إخفبء‬‫خـٛؽ‬‫اٌشجىخ‬
ActiveWindow.DisplayGridlines = False
(xlEdgeRight)
(xlEdgeLeft)
(xlEdgeTop)
(xlEdgeBottom)
43
44
Variable
Variables: ‫ات‬‫ر‬‫المتغي‬
‫يقصد‬‫بادلتغَت‬‫مكان‬‫يتم‬‫حجزه‬‫ىف‬‫ذاكرة‬‫احلاسب‬‫يتم‬‫فيو‬‫ين‬‫ز‬‫زب‬‫قيمة‬‫او‬‫رلموعة‬‫من‬‫القيم‬‫لكى‬‫يتم‬
‫استخدامها‬‫داخل‬‫نامج‬‫رب‬‫ال‬.‫البد‬‫و‬‫من‬‫إعطاء‬‫اسم‬‫لكل‬‫متغَت‬‫حىت‬‫يتسٌت‬‫فيما‬‫بعد‬‫استخدام‬‫ىذا‬‫ادلتغَت‬‫ىف‬
‫الوصول‬‫اىل‬‫النتائج‬‫ادلطلوب‬‫ربقيقها‬‫من‬‫نامج‬‫رب‬‫ال‬.‫وىناك‬‫شروط‬‫زلددة‬‫غلب‬‫افرىا‬‫و‬‫ت‬‫ىف‬‫اسم‬‫ادلتغَت‬
‫وإال‬‫مت‬‫فضها‬‫ر‬‫من‬‫قبل‬‫نامج‬‫رب‬‫ال‬
‫شروط‬‫تسمية‬‫ات‬‫َت‬‫ادلتغ‬:
١–‫غلب‬‫أال‬‫يبدأ‬‫اسم‬‫ادلتغَت‬‫قم‬‫ر‬‫ب‬‫أن‬‫و‬‫يبدأ‬‫حبرف‬.
٢–‫احلروف‬‫الىت‬‫تلى‬‫احلرف‬‫األول‬‫ؽلكن‬‫أن‬‫تكون‬‫حروف‬‫أو‬‫أرقام‬‫أو‬‫االثنُت‬‫معا‬.
٣–‫ال‬‫غلوز‬‫أن‬‫ػلتوى‬‫اسم‬‫ادلتغَت‬‫على‬‫مسافات‬‫أو‬‫نقطة‬‫أو‬‫رموز‬‫خاصة‬‫مثل‬(‫؟‬،*،)،(،/
.........‫إخل‬)‫ولكن‬‫ؽلكن‬‫استخدام‬‫الشرطة‬‫السفلية‬(_).
4–‫غلب‬‫أال‬‫يكون‬‫مستخدما‬‫من‬‫قبل‬.
5-‫أال‬‫يكتب‬‫باللغة‬‫بية‬‫ر‬‫الع‬
6-‫لغو‬ ‫سبلك‬VBA‫الكلمات‬ ‫ىذه‬ ‫اءات‬‫ر‬‫االج‬ ‫او‬ ‫ات‬‫َت‬‫للمتغ‬ ‫كإمساء‬‫استخدامها‬ ‫ؽلكنك‬ ‫ال‬ ‫الىت‬ ‫احملجوزه‬ ‫الكلمات‬ ‫من‬ ً‫ا‬‫عدد‬
‫ىى‬-:
45
46
‫تم‬ ‫إرلاضة‬ ‫جمة‬‫رب‬ً‫إ‬ ‫ًـيارص‬ ‫سٌلء‬‫أ‬‫ك‬ ‫خزسإهما‬‫إس‬ ‫ميىٌم‬ َ‫ه‬‫أ‬‫أ‬ ‫ًـين‬ ‫مما‬ ، ‫حمجوزة‬ ‫كري‬ ‫إًخاًَة‬ ‫َة‬‫ساس‬‫أ‬‫ل‬‫إ‬ ‫إًلكٌلت‬.،‫ذكل‬ ‫ومؽ‬
‫دعاء‬‫أ‬‫أ‬ ‫ؤىل‬‫إ‬ ‫ثؤدي‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬‫و‬ ،‫إءهتا‬‫ص‬‫ك‬ ‫إًطـة‬ ‫من‬ ‫جمَة‬‫رب‬ً‫إ‬ ‫ًخـَاميت‬‫إ‬ ‫جتـي‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬ ‫هنا‬‫أ‬‫ل‬ ،‫خحسن‬‫مس‬ ‫كري‬ ‫تشكل‬ ‫ًلِام‬‫إ‬
‫ؿَهيا‬ ‫إًـثور‬ ‫إًطـة‬ ‫من‬ ‫ٍىون‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬ ‫ًيت‬‫إ‬ ‫إرلفِة‬.
47
‫امل‬ ‫يف‬‫ر‬‫تع‬ ‫يتم‬‫اسطو‬‫و‬‫ب‬ ‫تغَت‬, DIM‫مثل‬ ‫الصلة‬ ‫ذات‬ ‫يف‬‫ر‬‫تع‬ ‫ات‬‫ر‬‫عبا‬ ‫أو‬Public.
Dim Sales As Double
‫احد‬‫و‬ ‫متغَت‬ ‫من‬ ‫أكثر‬ ‫يف‬‫ر‬‫تع‬ ‫ؽلكنك‬on a Dim:
Dim SalesData As Double, Index As Integer, Start Date As Date
Dim Col, Row, Sheet As Integer
‫ليكون‬ ‫متغَت‬ ‫كل‬‫يف‬‫ر‬‫يع‬ ‫ىذا‬ ‫أن‬ ‫ادلستخدمُت‬ ‫من‬ ‫العديد‬ ‫يفًتض‬Integer‫صحيحا‬ ‫ليس‬ ‫ىذا‬.Col and
Row
‫تكون‬Variant‫نوع‬ ‫تعط‬ ‫مل‬ ‫ألهنا‬.‫اهنم‬ ‫على‬ ‫الثالثو‬ ‫تعرف‬ ‫لكى‬Integer‫اخلط‬ ‫يكون‬ ‫أن‬ ‫غلب‬ ،‫التاىل‬ ‫النحو‬ ‫على‬:
Dim Col As Integer, Row As Integer, Sheet As Integer
‫وىناك‬‫أساليب‬‫سلتلفة‬‫لعملية‬‫اإلعالن‬‫وىى‬‫كالتاىل‬:
١–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وإحس‬‫فلط‬‫ىف‬‫لك‬‫سعص‬‫من‬‫سعور‬‫ؤؿالن‬‫ال‬‫إ‬‫مثي‬:
Dim a as integer
Dim b as single
٢–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫نرث‬‫أ‬‫أ‬‫من‬‫مذلري‬‫ىف‬‫سعص‬‫ؤؿالن‬‫ال‬‫إ‬‫مثي‬:
Dim a, b as integer
٣–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وختطَص‬‫مية‬‫ك‬‫هل‬‫ىف‬‫سعص‬‫ؤؿالن‬‫ال‬‫إ‬:
Dim C as integer = 7
٤–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫إت‬‫ري‬‫مذل‬‫ًُست‬‫من‬‫هفس‬‫إًيوع‬‫ؾعاء‬‫ؤ‬‫إ‬‫و‬‫مية‬‫ك‬‫ًِا‬‫ىف‬‫هفس‬‫إًسعص‬
Dim X as integer = 9 , Y as string = "Mr. Khalid"
٥–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وختطَص‬‫مية‬‫ك‬‫هل‬‫من‬‫انجت‬‫مـادٌك‬‫رايضَة‬‫ىف‬‫هفس‬‫إًسعص‬
Dim X as integer = a + b
48
Object Variables
‫عمل‬ ‫ورقة‬ ‫أو‬ ‫نطاق‬ ‫مثل‬ ،‫بأكملو‬ ‫كائن‬‫ؽلثل‬ ‫متغَت‬.
‫ب‬ ‫يفها‬‫ر‬‫تع‬ ‫ويتم‬ ‫العادية‬ ‫ات‬‫َت‬‫للمتغ‬ ‫شلاثلة‬Dim‫أو‬Public‫ادلثال‬ ‫سبيل‬ ‫على‬ ،:
‫ب‬ ‫يفها‬‫ر‬‫تع‬ ‫ويتم‬ ‫العادية‬ ‫ات‬‫َت‬‫للمتغ‬ ‫شلاثلة‬Dim‫أو‬Public‫ادلثال‬ ‫سبيل‬ ‫على‬ ،:
‫الكائن‬ ‫تعبَت‬ ‫يف‬‫ر‬‫لتع‬object expression‫كائن‬‫متغَت‬ ‫إىل‬object variable،‫الكلمة‬ ‫استخدم‬set.
‫ادلثال‬ ‫سبيل‬ ‫على‬:
Set ObjectVariable = ObjectExpression
Set MyCell = Worksheets("Sheet1").Range("A1")
‫مثال‬
‫اخلليو‬ ‫ػلدد‬ ‫سوف‬ ‫التاىل‬ ‫اء‬‫ر‬‫االج‬A1‫ىف‬sheet1‫القيمو‬ ‫اعطاء‬‫و‬100‫التنسيقات‬‫و‬
Bold, Italic and Underline.
Sub ObjectVariable ()
Worksheets ("Sheet1").Range ("A1").Value = 100
Worksheets ("Sheet1").Range ("A1").Font.Bold = True
Worksheets ("Sheet1").Range ("A1").Font.Italic = True
Worksheets ("Sheet1").Range ("A1").Font.Underline = XlSingle
End Sub
‫باستخدام‬Object Variable called mycell
Sub ObjectVariable ()
Dim mycell As Range
Set mycell = Worksheets ("Sheet1").Range ("A1")
mycell.Value = 100
mycell.Font.Bold = True
mycell.Font.Italic = True
mycell.Font.Underline = xlSingle
End Sub
49
‫ات‬‫ر‬‫ادلتغ‬ ‫باستخدام‬ ‫انو‬ ‫الحظ‬)mycell(‫ذكر‬ ‫عن‬ ‫االستغناء‬ ‫مت‬)Worksheets ("Sheet1").Range ("A1").Value(
‫حيث‬mycell) =Worksheets ("Sheet1").Range ("A1").Value
Set ObjectVariable ‫ملخلري‬‫إ‬ = ObjectExpression ‫إًاكئن‬
Set MyCell = Worksheets("Sheet1").Range("A1")
Variables and Data Types
‫ؤوشاءمه‬‫إ‬ ‫وال‬‫أ‬‫أ‬ ‫ؿََم‬ ‫جية‬ ،‫جمَة‬‫رب‬ً‫إ‬ ‫إًخـَاميت‬ ‫يف‬ ‫ًلمي‬‫إ‬ ‫تـظ‬ ‫خزسإم‬‫الس‬.‫ضلرية‬ ‫ٍن‬‫ز‬‫خت‬ ‫مٌاظق‬ ‫من‬ ‫حَوحص‬‫ًمك‬‫إ‬ ‫ذإهصة‬ ‫ًخىون‬
‫تم‬ ‫إرلاص‬ ‫حَق‬‫ًخع‬‫إ‬ ‫تلمي‬ ‫ًالحذفاظ‬ ‫خزسم‬‫جس‬.‫مٌعلة‬ ‫يف‬ َ‫ًضـ‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ،‫جمَة‬‫رب‬ً‫إ‬ ‫إًخـَاميت‬ ‫يف‬ ‫مية‬‫ك‬ ‫خزسإم‬‫إس‬ ‫ؾيس‬
‫ٍن‬‫ز‬‫إًخر‬
‫ًربانمج‬‫إ‬ ‫شلَي‬‫ج‬ ‫إزياء‬ ‫مؤكذا‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ٍ‫إهص‬‫ز‬‫ج‬ ‫ختزن‬ ‫مية‬‫ك‬ ‫ُو‬ ‫ملخلري‬‫إ‬ ،‫حَوحص‬‫ًمك‬‫إ‬ ‫جمة‬‫ص‬‫ج‬ ‫ؿامل‬ ‫يف‬
Declaring a Variable
‫إت‬‫ري‬‫ملخل‬‫إ‬ ‫من‬ ‫إًـسًس‬ ‫خزسإم‬‫إس‬ ‫يف‬ ‫حصقة‬ ‫ن‬‫أ‬‫أ‬ ‫ًوف‬‫أ‬‫ب‬‫مل‬‫إ‬ ‫كري‬ ‫من‬ ‫ًُس‬ َ‫ؤه‬‫ا‬‫ف‬ ، ‫حَق‬‫ًخع‬‫إ‬ ‫يف‬.‫إن‬ ‫ؿََم‬ ‫جية‬ ،‫دصى‬‫أ‬‫أ‬ ‫مصة‬
َ‫خزسإم‬‫إس‬ ‫كدي‬ ‫ملخلري‬‫إ‬ ‫ؾن‬ ‫مئا‬‫إ‬‫د‬ ‫ثـَن‬ ‫ن‬‫أ‬‫أ‬ ‫ملـخاد‬‫إ‬ ‫من‬ ‫جتـي‬.‫ميىٌم‬ ،‫إحس‬‫و‬ ‫ول‬‫أ‬‫أ‬ ‫ؾن‬ ‫ؤؿالن‬‫ال‬‫إ‬ ‫تـس‬ ‫خسًس‬ ‫مذلري‬ ‫ًف‬‫ص‬‫ًخـ‬
‫إًلكمة‬ ‫خزسإم‬‫وإس‬ ‫إًخايل‬ ‫إًسعص‬ ‫ؤىل‬‫إ‬ ‫إذلُاب‬ ‫تخساظة‬Dim‫خسًس‬ ‫مذلري‬ ‫ؾن‬ ‫ؿالن‬‫ؤ‬‫ال‬ً.‫مثال‬ ‫ُيا‬
Sub Exercise()
Dim Something
Dim Whatever
End Sub
Value Assignment
‫فاركة‬ ‫مبساحة‬ ‫الاحذفاظ‬ ‫ًمت‬ ‫ًىن‬‫و‬ ،‫ذلكل‬ ‫ابذلإهصة‬ ‫مساحة‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ‫خيطص‬ ،‫مذلري‬ ‫ًف‬‫ص‬‫تخـ‬ ‫ثلوم‬ ‫ؾيسما‬ َ‫ه‬‫أ‬‫أ‬ ‫ًيا‬‫أ‬‫أ‬‫ر‬.‫ؾن‬ ‫ؤؿالن‬‫ال‬‫إ‬ ‫تـس‬
‫ذلكل‬ ‫حمفوػة‬ ‫هت‬‫اك‬ ‫إًيت‬ ‫إذلإهصة‬ ‫يف‬ ‫ًسُا‬‫ص‬‫ح‬ ‫إًيت‬ ‫مية‬‫ًل‬‫إ‬ ‫ٍن‬‫ز‬‫خت‬ ‫ميىٌم‬ ،‫إملخلري‬.
‫إملخلري‬ ‫مية‬‫ك‬ ‫ثـَني‬ ‫ميىٌم‬ ،‫ٌَمخلري‬ ‫إحملجوزة‬ ‫إذلإهصة‬ ‫يف‬ ‫مية‬‫ك‬ ‫ٍن‬‫ز‬‫ًخر‬.‫خـَني‬ً‫إ‬ ‫ؿامي‬ ًَََ ،‫إملخلري‬ ‫إمس‬ ‫إنخة‬ ،‫تشكل‬ ‫ٌَلِام‬(=)‫ثَهيا‬ ،
‫ٍهنا‬‫ز‬‫خت‬ ‫ًس‬‫ص‬‫ح‬ ‫إًىت‬ ‫مية‬‫ًل‬‫إ‬.‫ذكل‬ ‫ؿىل‬ ‫مثال‬ ‫ُو‬ ‫ُيا‬:
Sub Exercise()
Dim Value
Value = 9374
End Sub
50
‫ي‬‫أ‬‫أ‬،‫وكت‬‫وؾيس‬،‫إًرضورة‬‫ميىٌم‬‫ثلَري‬‫مية‬‫ًل‬‫إ‬‫إًيت‬‫حيخفغ‬‫هبا‬‫مذلري‬.‫وُشإ‬‫ُو‬‫إًسخة‬َ‫ه‬‫إ‬ ‫ىف‬‫ٌسمى‬‫مذلري‬(َ‫ه‬‫أ‬‫ل‬‫ميىن‬‫ن‬‫أ‬‫أ‬‫ختخَف‬َ‫ميخ‬‫ك‬
‫و‬‫أ‬‫أ‬‫ثلَري‬.)‫خلَري‬ً‫مية‬‫ًل‬‫إ‬‫إًيت‬‫حيخفغ‬‫هبا‬،‫مذلري‬‫إًوضول‬‫ؤىل‬‫إ‬‫إملخلري‬‫مصة‬‫دصى‬‫أ‬‫أ‬‫ثـَني‬‫و‬‫مية‬‫ًل‬‫إ‬‫إدلسًسة‬‫إًيت‬‫ًسُا‬‫ص‬‫ح‬.
Introduction to Data Types
Variable As
‫ىناك‬data type‫استخدامها‬ ‫تنوي‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫من‬ ‫نوع‬ ‫أي‬ ‫احلاسوب‬ ‫زبرب‬.‫مقدار‬ ‫نعرف‬ ‫أن‬ ‫غلب‬ ،‫متغَت‬ ‫استخدام‬ ‫قبل‬
‫الذاكرة‬ ‫يف‬ ‫ستشغل‬ ‫اليت‬ ‫ادلساحة‬.‫الذاكرة‬ ‫يف‬ ‫ادلساحة‬ ‫من‬ ‫سلتلفة‬ ‫كمية‬‫وتستخدم‬ ‫سلتلفة‬ ‫ات‬‫َت‬‫ادلتغ‬.‫اليت‬ ‫ادلعلومات‬ ‫على‬ ‫ويطلق‬
‫متغ‬ ‫الحتياجات‬ ‫ادلساحة‬ ‫مقدار‬ ‫ربدد‬‫ر‬data type
‫كتابة‬‫بعد‬ ،‫دلتغَت‬ ‫استخدامها‬ ‫سيتم‬ ‫اليت‬ ‫البيانات‬ ‫نوع‬ ‫لتحديد‬Dim‫الكلمة‬ ‫اكتب‬ ،‫ادلتغَت‬ ‫باسم‬ ‫متبوعة‬AS‫البيانات‬ ‫اع‬‫و‬‫أن‬ ‫أحد‬ ‫يليو‬
Dim VariableName As DataType
Integral Numeric Variables
Byte
‫من‬ ‫إوح‬‫رت‬‫ث‬ ‫إًيت‬ ‫َـَة‬‫ًعح‬‫إ‬ ‫ؿسإد‬‫أ‬‫ل‬‫إ‬ ‫َحمي‬‫س‬ ‫إذلي‬ ‫مذلري‬ ‫ًف‬‫ص‬‫ًخـ‬0‫ؤىل‬‫إ‬255‫حَاانت‬ً‫إ‬ ‫هوع‬ ‫خزسم‬‫إس‬ ،Byte.‫ُو‬ ‫ُيا‬
‫ذكل‬ ‫ؿىل‬ ‫مثال‬:
Sub Exercise()
Dim StudentAge As Byte
End Sub
‫ابًت‬ ‫حَاانت‬ً‫إ‬ ‫ًيوع‬ ‫حصف‬ ‫ي‬‫أ‬‫أ‬ ‫ًوخس‬ ‫.ال‬
‫ضلري‬ ‫موحة‬ ‫ؿسد‬ َ‫ه‬‫أ‬‫أ‬ ‫ثـَني‬ ‫ميىٌم‬ ،‫ملخلري‬‫إ‬ ‫ؾن‬ ‫ًخرصحي‬‫إ‬ ‫تـس‬.‫ذكل‬ ‫ؿىل‬ ‫مثال‬ ‫ُيا‬
:
Sub Exercise()
Dim Value As Byte
Value = 246
End Sub
‫من‬ ‫كي‬‫أ‬‫أ‬ ‫ًـسد‬‫إ‬ ‫دإم‬ ‫ما‬ ‫ؾرشي‬ ‫إًست‬ ‫َق‬‫خًس‬ً‫اب‬ ‫ًصمق‬‫إ‬ ‫خزسإم‬‫إس‬ ‫ًضا‬‫أ‬‫أ‬ ‫ميىٌم‬255 .
‫من‬ ‫ؿىل‬‫أ‬‫أ‬ ‫مية‬‫ك‬ ‫و‬‫أ‬‫أ‬ ‫ساًحة‬ ‫مية‬‫ك‬ ‫ؾعَت‬ ‫إ‬ ‫ؤذإ‬‫إ‬255‫أ‬‫ب‬‫دع‬ ‫ثخَلى‬ ‫سوف‬ ،‫خيفِش‬ً‫إ‬ ‫حماوٌك‬ ‫ؾيس‬ ،
51
‫ضلري‬ ‫ؿسد‬ ‫ىل‬‫ؤ‬‫إ‬ ‫مية‬‫ك‬ ‫ًي‬‫و‬‫ًخح‬
Number = CByte(Value to Convert to Byte)
Integer
‫بُت‬ ‫اوح‬‫ًت‬‫ي‬ ‫عددا‬ ‫سيحمل‬ ‫الذي‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬-32768‫اىل‬32767‫صحيح‬ ‫عدد‬ ‫البيانات‬ ‫نوع‬ ‫استخدم‬. Integer
‫صحيح‬ ‫عدد‬ ‫متغَت‬ ‫إعالن‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬:
Sub Exercise()
Dim Tracks As Integer
End Sub
‫استخدام‬ ‫من‬ ‫بدال‬Integer٪ ‫حرف‬ ‫استخدام‬ ‫ؽلكنك‬ ،.‫التايل‬ ‫النحو‬ ‫على‬ ‫اإلعالن‬ ‫يتم‬ ‫أن‬ ‫ؽلكن‬ ،‫وبالتايل‬:
Sub Exercise()
Dim Tracks%
End Sub
‫إعالن‬ ‫بعد‬‫امل‬‫لذلك‬ ‫ادلطلوبة‬ ‫القيمة‬ ‫تعيُت‬ ‫ؽلكنك‬ ،‫تغَت‬.‫من‬ ‫أقل‬ ‫قيمة‬ ‫بتعيُت‬ ‫قمت‬ ‫إذا‬-32768‫من‬ ‫أعلى‬ ‫أو‬32767‫عندما‬ ،
‫خطأ‬ ‫تتلقى‬ ‫سوف‬ ،‫استخدامها‬ ‫تقرر‬.
‫الدالة‬ ‫استخدام‬ ‫ؽلكنك‬ ،‫طبيعية‬ ‫اعداد‬ ‫إىل‬ ‫ربويلها‬ ‫إىل‬ ‫ربتاج‬ ‫اليت‬ ‫القيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CInt‫التالية‬ ‫الصيغة‬ ‫باستخدام‬:
Number = CInt(Value to Convert)
52
Long
‫الصحيحة‬ ‫األعداد‬ ‫من‬ ‫أكرب‬ ‫أعداداه‬ ‫دلتغَت‬ ‫استخدامو‬ ‫ؽلكن‬‫و‬ ‫طويل‬ ‫صحيح‬ ‫عدد‬.‫العدد‬ ‫ىذا‬ ‫مثل‬ ‫سيحمل‬ ‫الذي‬ ‫ادلتغَت‬ ‫يف‬‫ر‬‫لتع‬
‫البيانات‬ ‫نوع‬ ‫استخدام‬ ،‫الكبَت‬Long‫مثال‬ ‫ىنا‬
Sub Exercise()
Dim Population As Long
End Sub
‫استخدام‬ ‫من‬ ‫بدال‬Long‫استخدام‬ ‫ؽلكنك‬ ،@
Sub Exercise()
Dim Population@
End Sub
‫من‬ ‫باستخدامو‬ ‫ينها‬‫ز‬‫زب‬ ‫ؽلكن‬ ‫الىت‬ ‫القيمو‬– 2,147,483,648‫اىل‬2,147,483,647
‫استدعى‬ ‫طويال‬ ‫صحيح‬ ‫عدد‬ ‫إىل‬ ‫القيمة‬ ‫لتحويل‬CLng ()‫التالية‬ ‫الصيغة‬ ‫باستخدام‬
Number = CLng(Value to Convert)
Decimal Variables
Single Precision
Sub Exercise()
Dim Distance As Single
End Sub
‫استخدام‬ ‫ؽلكنك‬ ‫ايضا‬‫و‬!‫منو‬ ‫بدال‬
Sub Exercise()
Dim Distance!
End Sub
53
A Single variable can hold a number between 1.401298e–45
and 3.402823e38
.
for negative values
or between 1.401298e–45
and 3.402823e38
for positive values.
‫استخدام‬ ،‫التحويل‬ ‫إىل‬ ‫ربتاج‬ ‫اليت‬ ‫القيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CSng ()‫التالية‬ ‫الصيغة‬ ‫مع‬:
Number = CSng(Value to Convert)
Double Precision
،‫الدقة‬ ‫من‬ ‫ا‬‫َت‬‫كب‬‫ا‬‫ر‬‫قد‬ ‫يتطلب‬ ‫الذي‬ ‫عشري‬ ‫قم‬‫ر‬ ‫استخدام‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬‫استخدم‬Double
Sub Exercise()
Dim Distance As Double
End Sub
‫استخدام‬ ‫ؽلكنك‬ ‫منو‬ ‫وبدال‬#
Sub Exercise()
Dim Distance#
End Sub
Sub Exercise()
Dim Distance As Double
Distance = 257.84
End Sub
A Double variable can hold a number between –1.79769313486231e308
and
–4.94065645841247e–324
for negative values
or between 4.94065645841247e–324
and 1.79769313486231e308
for positive values.
‫إىل‬ ‫القيمة‬ ‫لتحويل‬double‫استخدم‬ ،CDbl ()‫التالية‬ ‫الصيغة‬ ‫مع‬:
Number = CDbl(Value to Convert)
‫اد‬‫و‬‫االك‬ ‫ىف‬ ‫تستخدم‬ ‫ال‬ ‫قام‬‫ر‬‫اال‬ ‫اءه‬‫ر‬‫ق‬ ‫لتسهيل‬ ‫تستخدم‬ ‫الىت‬ ‫اصل‬‫و‬‫الف‬
54
A String
‫طول‬ ‫أي‬ ‫من‬ ‫يقرب‬ ‫وما‬ ،‫نوع‬ ‫أي‬ ‫من‬ ‫النص‬ ‫تشكل‬ ‫اليت‬ ‫األحرف‬ ‫من‬ ‫كيبة‬‫تر‬ ‫أو‬ ،‫حرف‬ ‫سلسلة‬ ‫ىو‬
Sub Exercise()
Dim CountryName As String
End Sub
The type character for the String data type is $
Sub Exercise()
Dim CountryName$
End Sub
‫لو‬ ‫قيمة‬ ‫تعيُت‬ ‫ؽلكنك‬ ،‫متغَت‬ ‫إعالن‬ ‫بعد‬ ،‫ذكره‬ ‫سبق‬ ‫كما‬.‫متغَت‬ ‫قيمة‬ ‫تضمُت‬ ‫غلب‬String‫االقتباس‬ ‫عالمات‬ ‫داخل‬.‫ىنا‬
‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬:
Sub Exercise()
Dim CountryName As String
CountryName = "Brésil"
End Sub
‫استخدم‬ ،‫سلسلة‬ ‫إىل‬ ‫ربويلو‬ ‫يد‬‫ر‬‫وت‬ ‫نص‬ ‫ليست‬ ‫قيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CStr()‫التالية‬ ‫بالصيغة‬:
CStr(Value To Convert to String)
55
Currency Values
‫البيانات‬ ‫نوع‬ ‫استخدام‬ ‫يتم‬Currency‫النقدية‬ ‫القيم‬ ‫مع‬ ‫للتعامل‬.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬
Sub Exercise()
Dim StartingSalary As Currency
End Sub
‫استخدام‬ ‫ؽلكنك‬@‫العملة‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬ ‫نوع‬ ‫كحرف‬.‫أنو‬ ‫معلنا‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬:
Sub Exercise()
Dim StartingSalary@
End Sub
‫العملة‬ ‫رمز‬ ‫تستخدم‬ ‫ال‬ ،‫العملة‬ ‫أساس‬ ‫على‬ ‫متغَت‬ ‫إىل‬ ‫قيمة‬ ‫تعيُت‬ ‫عند‬.
Sub Exercise()
Dim StartingSalary As Currency
StartingSalary = 66500
End Sub
can store a value between – 922,337,203,685,477.5808 and 922,337,203,685,477.5807.
‫استخدم‬ ،‫عملة‬ ‫إىل‬ ‫القيمة‬ ‫ربويل‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬CCur ()‫التالية‬ ‫الصيغة‬ ‫مع‬:
Number = CCur(Value to Convert)
ٍّٗ‫اٌؼ‬ ٍٝ‫ػ‬ ‫ِثبي‬
Sub Variables()
Dim NumberOfShirts As Byte
Dim PriceOneShirt As Currency
Dim TotalPriceShirts As Currency
NumberOfShirts = 5
PriceOneShirt = 1.25
TotalPriceShirts = NumberOfShirts * PriceOneShirt
ActiveCell.FormulaR1C1 = TotalPriceShirts
End Sub
56
A Date
ٟ‫ف‬Visual Basic،ٓ‫٠ّى‬َ‫اعزخذا‬‫ٔٛع‬‫ث١بٔبد‬"Date"ٓ٠‫ٌزخض‬‫ل١ّخ‬
‫ربس٠خ‬.،‫ٌٚزٌه‬ٍٓ‫ٌزؼ‬‫ربس٠خ‬ٚ‫أ‬‫ِزغ١شاد‬‫ٚلذ‬
Sub Exercise()
Dim DateOfBirth As Date
End Sub
‫ل١ّزخ‬ ٕٗ١١‫رؼ‬ ‫٠ّىٕه‬ ،‫ِزغ١ش‬ ْ‫إػال‬ ‫ثؼذ‬.ٓ١‫ث‬ ‫اٌزبس٠خ‬ ‫ل١ّخ‬ ٓ١ّ‫رؼ‬ ‫٠دت‬
‫ػالِبد‬ ِٓ ٓ١ٕ‫اث‬#‫ِثبي‬ ‫ٕ٘ب‬
Sub Exercise()
Dim DateOfBirth As Date
DateOfBirth = #10/8/1988#
End Sub
‫إرا‬ْ‫وب‬‫ٌذ٠ه‬‫عٍغٍخ‬ٚ‫أ‬‫رؼج١ش‬‫رش٠ذ‬ٍٗ٠ٛ‫رس‬ٌٝ‫إ‬،‫ربس٠خ‬َ‫اعزخذ‬CDate()
‫ًا‬‫اعزٕبدا‬ٌٝ‫إ‬‫اٌظ١غخ‬‫اٌزبٌ١خ‬:
Result = CDate(Value to Convert)
A Time
ٟ‫ف‬Visual Basic‫اٌٛلد‬ ‫ل١ّح‬ ٓ٠‫ٌرخض‬ َ‫ذغرخذ‬ ْ‫أ‬ ‫أ٠ضا‬ ‫ذاس٠خ‬ ‫اٌث١أاخ‬ ‫ٌٍٕٛع‬ ٓ‫٠ّى‬ ،.
Sub Exercise()
Dim ShiftTimeIn As Date
End Sub
‫ػالِاخ‬ ِٓ ٓ١ٕ‫اش‬ ٓ١‫ت‬ ْٛ‫ذى‬ ، ٌٗ ‫ل١ّح‬ ٓ١١‫ٌرؼ‬ ،‫اٌّرغ١ش‬ ْ‫إػال‬ ‫تؼذ‬#.‫اٌراس٠خ‬ ٓ‫ػ‬ ‫ِخرٍفح‬ ‫لٛاػذ‬ ‫ذرثغ‬ ‫اٌم١ّح‬.
To convert a value or an expression to time, use CDate().
57
Any-Type Variables
A Variant
ُِٕٙ ‫رش٠ذ‬ ٟ‫اٌز‬ ُ١‫اٌم‬ ‫أٔٛاع‬ ‫ِؼشٚفخ‬ ‫اٌّزغ١شاد‬ ٍٓ‫ٔؼ‬ ٓ‫ٚٔس‬ ،ْ٢‫ا‬ ٝ‫زز‬
‫٠ٛفش‬ ‫رخض٠ٕٙب‬VBA‫ػبٌّ١خ‬ ‫ث١بٔبد‬ ‫ٔٛع‬(‫غبِؼخ‬ ٚ‫أ‬)ٞ‫أل‬ ‫اعزخذاِٙب‬ ‫٠ّىٕه‬
‫اٌج١بٔبد‬ ‫ٔٛع‬ َ‫اعزخذا‬ ُ‫٠ز‬ ُ١‫اٌم‬ ِٓ ‫ٔٛع‬Variantٌُ ٞ‫اٌز‬ ‫ِزغ١ش‬ ‫ٌزؼش٠ف‬
‫طشازخ‬ ٗ‫ٔٛػ‬ ‫رسذ٠ذ‬ ُ‫٠ز‬
‫اٌج١بٔبد‬ ‫ٌٕٛع‬ ٓ‫٠ّى‬Variant‫رش٠ذ٘ب‬ ‫أذ‬ ُ١‫اٌم‬ ِٓ ‫ٔٛع‬ ٜ‫ثب‬ ‫٠سزفظ‬ ْ‫ا‬
Sub Exercise()
Dim FullName As Variant
Dim EmploymentStatus As Variant
Dim HourlySalary As Variant
Dim DateHired As Variant
FullName = "Patricia Katts"
EmploymentStatus = 2
HourlySalary = 35.65
DateHired = #6/22/2004#
End Sub
A Variable Without a Data Type
‫أِثٍخ‬ ٗ‫ث‬ ‫اٌخبطخ‬ ‫اٌج١بٔبد‬ ‫ٔٛع‬ ‫إػـبء‬ ْٚ‫د‬ ‫ِزغ١ش‬ ‫رؼش٠ف‬ ‫٠ّىٕه‬
Sub Exercise()
Dim FullName
Dim EmploymentStatus
Dim HourlySalary
Dim DateHired
End Sub
‫اٌخؾ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫أوثش‬ ٚ‫أ‬ ‫ٚازذ‬ ‫ِزغ١ش‬ ‫رؼش٠ف‬ ‫٠ّىٕه‬ ،‫ثبٌـجغ‬.
‫ل١ّزخ‬ ٓ١١‫رؼ‬ ‫٠دت‬ ، ‫ٌٍّزغ١ش‬ ٗ‫اٌّـٍٛث‬ ٗ‫اٌّغبز‬ ٌٝ‫ا‬ ٖ‫ٌالشبس‬.‫أِثٍخ‬ ‫ٕٚ٘ب‬:
Sub Exercise()
Dim FullName
Dim EmploymentStatus
Dim HourlySalary
Dim DateHired
FullName = "Patricia Katts"
EmploymentStatus = 2
HourlySalary = 35.65
DateHired = #6/22/2004#
End Sub
‫ٚثّدشد‬‫اٌّزغ١ش‬ ْ‫ا‬ًّ‫٠س‬،‫ل١ّخ‬‫٠ّىٕه‬ِٗ‫اعزخذا‬‫وّب‬ٖ‫رشا‬‫ًا‬‫ِٕبعجب‬.
58
The Scope or Lifetime of a Variable
Introduction
‫بُت‬ ‫لدينا‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫نعيُت‬ ‫كنا‬،‫اآلن‬ ‫حىت‬Sub Name and the End Sub lines.‫ادلتغَت‬ ‫ىذا‬ ‫مثل‬ ‫إىل‬ ‫يشار‬‫و‬.
local variable‫يفو‬‫ر‬‫تع‬ ‫يتم‬ ‫حيث‬ ‫ادلنطقة‬ ‫على‬ ‫يقتصر‬.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬:
Option Explicit
Sub Exercise()
Dim FirstName As String
FirstName = "Patricia"
End Sub
Global Variables
‫خبسج‬ ٍٓ‫أػ‬ ‫ِزغ١ش‬ ٛ٘. Sub Name and the End Sub linesُ‫٠ز‬ ‫ِب‬ ‫ػبدح‬
‫اٌٍّف‬ ِٓ ٍٞٛ‫اٌؼ‬ ُ‫اٌمغ‬ ٟ‫ف‬ ‫اٌّزغ١ش‬ ‫٘زا‬ ‫رؼش٠ف‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِثبي‬ ٛ٘ ‫ٕ٘ب‬:
Option Explicit
Dim LastName As String
Sub Exercise()
End Sub
‫ثؼذ‬‫رؼش٠ف‬‫ِزغ١ش‬ِّٟٛ‫ػ‬،‫٠ّىٕه‬‫اٌٛطٛي‬ٗ١ٌ‫إ‬ٟ‫ف‬‫إٌّبؿك‬ٜ‫األخش‬‫ٌٍٍّف‬.
‫ٕ٘ب‬‫ِثبي‬ٍٝ‫ػ‬‫رٌه‬:
Option Explicit
Dim LastName As String
Sub Exercise()
Dim FirstName As String
FirstName = "Patricia"
LastName = "Katts"
End Sub
‫رؼش٠ف‬ ‫أ٠ؼب‬ ‫٠ّىٕه‬Global Variables
ٜ‫أخش‬ ‫ٚزذح‬ ٟ‫ف‬ ِٗ‫اعزخذا‬ ٍٝ‫ػ‬ ‫لبدس‬ ْٛ‫ٌزى‬ ‫ِٕفظٍخ‬ ٗ١‫ّٔـ‬ ‫ٚزذح‬ ٟ‫ف‬.
59
The Access Level of a Global Variable
Introduction
‫ػٕذ‬َ‫اعزخذا‬‫ِزغ١ش‬،ِّٟٛ‫ػ‬‫ٌغخ‬Visual Basic‫٠غّر‬‫ٌه‬ُ‫ثبٌزسى‬ٟ‫ف‬ٜٛ‫ِغز‬
‫اٌٛطٛي‬ٌٗ.ٜٛ‫ِغز‬‫اٌٛطٛي‬‫ٌّزغ١ش‬ٛ٘‫ػٍّ١خ‬ُ‫ٌٍزسى‬ٟ‫ف‬‫اٌٛطٛي‬ٌٝ‫إ‬ُ‫و‬
‫ِمـغ‬ِٓ‫اٌزؼٍ١ّبد‬‫اٌجشِد١خ‬ٍٝ‫ػ‬‫اٌّزغ١ش‬.
Private Variables
ٗٔ‫ا‬ ‫ِزغ١ش‬ ٌٝ‫إ‬ ‫ٚ٠شبس‬Private‫إال‬ ٗ١ٌ‫إ‬ ‫اٌٛطٛي‬ ٓ‫٠ّى‬ ‫ال‬ ْ‫وب‬ ‫إرا‬
ٗ‫ٔفغ‬ ‫اٌٍّف‬ ً‫داخ‬ ِٓ ‫االوٛاد‬ ‫ؿش٠ك‬ ٓ‫ػ‬(‫اٌٛزذح‬ ‫ٔفظ‬)ُ‫٠ز‬ ‫ز١ث‬
ِٗ‫اعزخذا‬
ٜ‫اخش‬ ٖ‫ثؼجبس‬
Privateٗ١‫إٌّـ‬ ٖ‫اٌٛزذ‬ ‫ٔفظ‬ ٝ‫ف‬ ٜ‫االخش‬ ‫االخشاءاد‬ ٗ‫ٌىبف‬ ٓ‫٠ّى‬ ٗٔ‫ا‬ ٍٝ‫ػ‬ ‫رذي‬
‫اٌّزغ١ش‬ ٖ‫٘ز‬ ٌٝ‫ا‬ ‫اٌٛطٛي‬ ‫فمؾ‬
ِٓ ‫ثذال‬ ،‫اٌّزغ١ش‬ ‫٘زا‬ ً‫ِث‬ ٍٓ‫ٌزؼ‬Dimَ‫اعزخذا‬ ،Privateٍٝ‫ػ‬ ‫ِثبي‬
‫رٌه‬:
Option Explicit
Private LastName As String
Sub Exercise()
Dim FirstName As String
FirstName = "Patricia"
LastName = "Katts"
End Sub
60
Public Variables
‫متغَت‬ ‫إىل‬ ‫يشار‬‫ك‬public‫إليو‬ ‫الوصول‬ ‫امكن‬ ‫اذا‬‫ادللف‬ ‫نفس‬ ‫داخل‬ ‫من‬ ‫أما‬ ‫بكود‬)‫النمطية‬ ‫الوحدة‬ ‫نفس‬(‫من‬ ‫أو‬ ‫فيها‬ ‫أعلن‬ ‫اليت‬
‫النمطية‬ ‫الوحدة‬ ‫ج‬‫خار‬ ‫الربرلية‬ ‫التعليمات‬
‫من‬ ً‫ال‬‫بد‬ ،‫عمومي‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬Dim‫الكلمة‬ ‫استخدام‬ ‫ؽلكنك‬ ،Public.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىنا‬:
Option Explicit
Private LastName As String
Public FullName As String
Sub Exercise()
Dim FirstName As String
FirstName = "Patricia"
LastName = "Katts"
FullName = FirstName & " " & LastName
End Sub
‫يف‬‫ر‬‫بتع‬ ‫وتقوم‬ ،‫ظلطية‬ ‫وحدة‬ ‫إنشاء‬ ‫ؽلكنك‬ ‫أنو‬ ‫يعٍت‬ ‫وىذا‬ ‫النمطية‬ ‫الوحدة‬ ‫ج‬‫وخار‬ ‫داخل‬ ‫الربرلية‬ ‫للتعليمات‬ ‫متاح‬ ‫عمومي‬ ‫متغَت‬ ،‫كتذكَت‬
Public Variables
‫آخر‬ ‫ملف‬ ‫يف‬ ‫ادلتغَت‬ ‫ىذا‬ ‫إىل‬ ‫الوصول‬‫و‬ ، ‫فيها‬)‫ظلطية‬ ‫وحدة‬(‫احلاجة‬ ‫تدعو‬ ‫حيث‬.
‫ات‬‫َت‬‫متغ‬private‫الوحدة‬ ‫ج‬‫خار‬ ‫ليس‬ ‫ولكن‬ ‫الوحدة‬ ‫داخل‬ ‫تتوفر‬.‫وزلاولة‬ ‫ظلطية‬ ‫وحدة‬ ‫يف‬ ‫خاص‬ ‫متغَت‬ ‫يف‬‫ر‬‫بتع‬ ‫قمت‬ ‫إذا‬
‫خطأ‬ ‫رسالة‬ ‫ظهور‬ ،‫أخرى‬ ‫وحدة‬ ‫يف‬ ‫إليو‬ ‫الوصول‬:
Module 1:
Option Explicit
Private FullName As String
Module 2:
Option Explicit
Private LastName As String
Private FirstName As String
Sub Exercise()
FirstName = "Patricia"
LastName = "Katts"
FullName = FirstName & " " & LastName
ActiveCell.FormulaR1C1 = FullName
End Sub
61
This would produce:
Practical Learning: Closing Microsoft Excel
1. To close Microsoft Visual Basic, on the main menu, click File -> Close and Return to
Microsoft Excel
62
‫بالتاىل‬
‫إمل‬‫ملـَومات‬‫إ‬ ‫إع‬‫و‬‫ه‬‫أ‬‫أ‬ ‫مجَؽ‬ ‫ٍن‬‫ز‬‫خت‬ ‫ملمىن‬‫إ‬ ‫من‬ ‫جتـي‬ ‫إت‬‫ري‬‫ثل‬.
‫األول‬ ‫المثال‬ ‫وهنا‬:
'‫حوار‬ ‫مربع‬ ً‫ف‬ ‫المتؽٌر‬ ‫قٌمة‬ ‫عرض‬
Sub variables ()
'‫اٌّزغ١ش‬ ‫ة‬ ‫اٌزؼش٠ف‬
Dim my_variable As Integer
‫ِزغ١ش‬ ٌٝ‫إ‬ ‫ل١ّخ‬ ‫إعٕبد‬
my_variable = 12
‫ل١ّخ‬ ‫ػشع‬my_variableٟ‫ف‬MsgBox
MsgBox my_variable
End sub
‫ات‬‫َت‬‫ادلتغ‬ ‫من‬ ‫سلتلفة‬ ‫اع‬‫و‬‫أن‬ ‫مع‬ ‫األمثلة‬ ‫بعض‬:
'‫مثال‬:‫اكمي‬ ‫ؿسد‬
Dim nbInteger As Integer
nbInteger = 12345
'‫مثال‬:‫ؾرشي‬ ‫رمق‬
Dim nbComma As Single
nbComma = 123.45
63
'‫مثال‬:‫إًيص‬
Dim varText As String
varText = "Excel-Pratique.com"
'‫مثال‬:‫اترخي‬
Dim varDate As Date
varDate = "06.04.2012"
'‫مثال‬:‫ضوإب‬/‫أ‬‫ب‬‫دع‬
Dim varBoolean As Boolean
varBoolean = True
'‫:مثال‬ ‫إًاكئن‬ (‫معي‬ ‫وركة‬ ‫)اكئن‬
Dim varSheet As Worksheet
Set varSheet = Sheets("Sheet2")
"‫إًاكئن‬ ‫إت‬‫ري‬‫مذل‬ ‫خزسإم‬‫إس‬ ‫هَفِة‬ ‫ؿىل‬ ‫مثال‬:‫وركة‬ ‫ثفـَي‬
varSheet.Activate
64
‫عملٌه‬ ‫ممارسة‬
‫الخلٌة‬ ‫من‬ ‫االخٌر‬ ‫االسم‬ ‫باسترداد‬ ‫ٌقوم‬ ‫ماكرو‬ ،‫خطوة‬ ‫خطوة‬ ،‫اآلن‬ ‫سنضع‬ ‫فإننا‬A2‫الخلٌة‬ ‫من‬ ‫األول‬ ‫االسم‬ ،B2‫من‬ ‫العمر‬ ،
‫الخلٌة‬C2‫حوار‬ ‫مربع‬ ً‫ف‬ ‫وٌعرضها‬ ،.
‫المتؽٌرات‬ ‫بإعالن‬ ‫سنبدأ‬‫بفواصل‬ ‫مفصولة‬ ،‫الخط‬ ‫نفس‬ ‫على‬ ‫كل‬
Sub variables)(
‫بالمتؽٌرات‬ ‫التعرٌؾ‬
Dim last_name As String, first_name As String, age As Integer
End Sub
‫الخالٌا‬ ‫باستخدام‬ ‫المتؽٌرات‬ ‫قٌم‬ ‫تحدٌد‬ ‫ذلك‬ ‫بعد‬:
Sub variables)(
'‫بالمتؽٌرات‬ ‫النعرٌؾ‬
Dim last_name As String, first_name As String, age As Integer
'‫المتؽٌرات‬ ‫قٌم‬
(last_name = Cells(2, 1
(first_name = Cells(2, 2
(age = Cells(2, 3
End sub
‫الحوار‬ ‫مربع‬ ‫فى‬ ‫النتائج‬ ‫بعرض‬ ‫سنقوم‬ ‫اخيرا‬
Sub variables()
'Declaring variables ‫ثبٌّزغ١شاد‬ ‫اٌزؼش٠ف‬
Dim last_name As String, first_name As String, age As Integer
'Variable values ‫اٌّزغ١شاد‬ ٌٝ‫ا‬ ُ١‫ل‬ ‫اعٕبد‬
last_name = Cells(2, 1)
first_name = Cells(2, 2)
age = Cells(2, 3)
'Dialog box
MsgBox last_name & " " & first_name & ", " & age & " years old"
End Sub
65
‫اٌخٍ١ح‬ ٟ‫ف‬ ‫ػذد‬ ً‫لث‬ ِٓ ٗ١ٌ‫إ‬ ‫اٌّشاس‬ ‫اٌعذٚي‬ ِٓ ‫طف‬ ‫خالي‬ ِٓ ‫ؼٛاس‬ ‫ِشتغ‬ ٟ‫ف‬ ‫اٌؼشع‬ ٟ٘ ‫اٌراٌ١ح‬ ‫اٌخطٛج‬F5.
Sub variables()
'Declaring variables ‫اٌّزغ١شاد‬ ٓ١١‫رؼ‬
Dim last_name As String, first_name As String, age As Integer,
row_number As Integer
'Variable values ‫اٌّزغ١شاد‬ ٌٝ‫ا‬ ُ١‫اٌم‬ ‫اعٕبد‬
row_number = Range("F5") + 1
last_name = Cells(row_number, 1)
first_name = Cells(row_number, 2)
age = Cells(row_number, 3)
'Dialog box
MsgBox last_name & " " & first_name & ", " & age & " years old"
End Sub
‫إملخلري‬ ‫ايذش‬ ‫سوف‬row _number‫إرلََة‬ ‫مية‬‫ك‬ ‫ن‬‫آ‬‫ل‬‫إ‬F5‫ؤضافة‬‫اب‬ ‫مقيا‬ ‫إذلي‬ ،(1 )‫حنطي‬ ‫ال‬ ‫حبَر‬ ‫هل‬
‫ٌَجسول‬ ‫ٍن‬‫و‬‫إًـيا‬ ‫ؿىل‬ ‫حيخوي‬ ‫إذلي‬‫و‬ ،‫ول‬‫أ‬‫ل‬‫إ‬ ‫إًطف‬ ‫من‬ ‫حَاانت‬ً‫إ‬ ‫ؿىل‬
66
‫إدلسول‬ ‫من‬ ‫متون‬‫هم‬ ‫حنن‬ ‫إذلي‬ ‫إًطف‬ ‫ًيا‬ ‫إملاهصو‬ ‫ًـصض‬ ‫ن‬‫آ‬‫ل‬‫إ‬.
‫البرمجٌة‬ ‫التعلٌمات‬ ‫من‬ ‫واحد‬ ‫لسطر‬ ‫اإلجراء‬ ‫هذا‬ ‫من‬ ‫تقلل‬ ‫أن‬ ‫ٌمكن‬ ‫أننا‬ ‫مالحظة‬ ‫ٌرجى‬ ،‫بالمناسبة‬:
Sub variables()
MsgBox Cells(Range("F5")+1,1) & " " & Cells(Range("F5")+1,2) & ", " &
Cells(Range("F5")+1,3) & " years old"
End Sub
67
68
Array
،‫منهما‬ ‫لكل‬ ‫احدة‬‫و‬ ‫قيمة‬ ‫ين‬‫ز‬‫بتخ‬ ‫فقط‬ ‫لنا‬ ‫تسمح‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫بينما‬arrays‫ويعملون‬ ‫القيم‬ ‫من‬ ‫العديد‬ ‫ين‬‫ز‬‫زب‬ ‫ادلمكن‬ ‫من‬ ‫ذبعل‬
‫يقة‬‫ر‬‫الط‬ ‫بنفس‬ ‫يبا‬‫ر‬‫تق‬ ‫بالضبط‬.
‫اإلعالنات‬ ‫من‬ ‫األمثلة‬ ‫بعض‬ ‫وىنا‬:
'‫متغَت‬ ‫يف‬‫ر‬‫تع‬‫عينو‬
Dim var1 AS String
‫ظلوذج‬1‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array
Dim array1 (4)AS String
'‫ظلوذج‬2‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array
Dim array2(4, 3) As String
‫ظلوذج‬3‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array
Dim array3(4, 3, 2) As String
‫قم‬‫ر‬ ‫االبعاد‬ ‫ظلوزج‬1
‫ىناك‬‫عدد‬‫احد‬‫و‬‫فقط‬‫يف‬‫اس‬‫و‬‫األق‬‫يف‬‫ىذا‬،‫اإلعالن‬‫شلا‬‫يعٍت‬‫أنو‬‫رلموعو‬(array)‫احاديو‬‫األبعاد‬.‫ىذا‬‫قم‬‫ر‬‫ال‬‫يقوم‬‫بتعيُت‬
‫حجم‬‫الصفيف‬.)array1(4‫عبارة‬‫عن‬‫صفيف‬‫فيها‬‫اخلاليا‬‫قمة‬‫ر‬‫م‬‫من‬0‫إىل‬4،‫شلا‬‫يعٍت‬‫أنو‬‫من‬ ‫صفيف‬5‫خاليا‬:
'‫إىل‬ ‫القيم‬ ‫تعيُت‬5‫خاليا‬
‫الحظ‬‫خلٌة‬ ‫أول‬ ‫ترقٌم‬ ‫ٌتم‬0.
array1(0) = "Value of cell 0"
array1(1) = "Value of cell 1"
array1(2) = "Value of cell 2"
array1(3) = "Value of cell 3"
array1(4) = "Value of cell 4"
69
،‫آخر‬ ‫مثال‬array‫األبعاد‬ ‫ثنائية‬‫ظلوزج‬2
Constants ‫ابت‬‫و‬‫الث‬
‫ات‬‫َت‬‫ادلتغ‬ ‫مثل‬,‫ابت‬‫و‬‫الث‬(constants)‫تعديلها‬ ‫ؽلكن‬ ‫ال‬ ‫أهنا‬ ‫ىو‬ ‫الفرق‬ ‫لكن‬‫و‬ ،‫القيم‬ ‫ين‬‫ز‬‫لتخ‬ ‫تستخدم‬ ‫أن‬ ‫ؽلكن‬.
‫عدد‬ ‫مثل‬ ‫ار‬‫ر‬‫التك‬ ‫إىل‬ ‫ار‬‫ر‬‫االضط‬ ‫لتجنب‬ ‫ثابت‬ ‫نضيف‬ ‫أن‬ ‫ؽلكن‬ ،‫ادلثال‬ ‫سبيل‬ ‫على‬6.87236476641:
Sub const_example()
Cells(1, 1) = Cells(1, 2) * 6.87236476641
Cells(2, 1) = Cells(2, 2) * 6.87236476641
Cells(3, 1) = Cells(3, 2) * 6.87236476641
Cells(4, 1) = Cells(4, 2) * 6.87236476641
Cells(5, 1) = Cells(5, 2) * 6.87236476641
End Sub
‫ذش٠ذ‬ ‫ػٕذِا‬ ‫اٌصاتد‬ ‫ل١ّح‬ ‫ذغ١١ش‬ ‫تىص١ش‬ ًٙ‫االع‬ ِٓ ً‫ٚ٠عؼ‬ ‫ٌٍمشاءج‬ ‫تىص١ش‬ ًٙ‫أع‬ ‫اٌشِض‬ ً‫٠عؼ‬ ‫ٚ٘زا‬:
Sub const_example()
'Declaration of a constant + assignment of value ٓ١١‫ٚرؼ‬ ‫اٌثبثذ‬ ٓ١١‫رؼ‬
ّٗ١‫اٌم‬
Const ANNUAL_RATE As Double = 6.87236476641
Cells(1, 1) = Cells(1, 2) * ANNUAL_RATE
Cells(2, 1) = Cells(2, 2) * ANNUAL_RATE
Cells(3, 1) = Cells(3, 2) * ANNUAL_RATE
Cells(4, 1) = Cells(4, 2) * ANNUAL_RATE
Cells(5, 1) = Cells(5, 2) * ANNUAL_RATE
End Sub
array2(0, 0) = "Red cell value"
array2(4, 1) = "Green cell value"
array2(2, 3) = "Blue cell value"
70
The scope of variables
‫ات‬‫ر‬‫المتغي‬ ‫مدى‬
‫إذا‬‫مت‬‫يف‬‫ر‬‫تع‬‫متغَت‬‫يف‬‫بداية‬‫اء‬‫ر‬‫اإلج‬)sub(،‫ؽلكن‬‫استخدامو‬‫فقط‬‫ضمن‬‫ىذا‬‫اء‬‫ر‬‫اإلج‬‫نفسو‬.‫اليتم‬‫اإلبقاء‬‫على‬‫قيمة‬‫ا‬‫َت‬‫ادلتغ‬
‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬.
Sub procedure1()
Dim var1 As Integer
' => Use of a variable only within a procedure ‫اإلجراء‬ ‫ضمن‬ ‫متؽٌر‬ ‫استخدام‬
End Sub
Sub procedure2()
' => var1 cannot be used here ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬ ‫ال‬
End Sub
‫من‬‫أجل‬‫استخدام‬‫متغَت‬‫يف‬‫أي‬‫من‬‫اءات‬‫ر‬‫اإلج‬‫ضمن‬‫وحدة‬،‫ظلطية‬‫كل‬‫ما‬‫عليك‬‫فعلو‬‫أن‬‫تعلن‬‫أنو‬‫يف‬‫بداية‬‫الوحدة‬‫النمطية‬.
‫وإذا‬‫كنت‬‫تقوم‬‫يف‬‫ر‬‫بتع‬‫متغَت‬‫هبذه‬،‫يقة‬‫ر‬‫الط‬‫سيتم‬‫اإلبقاء‬‫على‬‫القيمة‬‫اخلاصة‬‫بو‬‫حىت‬‫يتم‬‫إغالق‬‫ادلصنف‬.
Dim var1 As Integer
Sub procedure1()
' => var1 can be used here ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬
End Sub
Sub procedure2()
' => var1 can also be used here ‫ًا‬‫ا٠ؼب‬ ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬
End Sub
‫إذا‬‫كنت‬‫يد‬‫ر‬‫ت‬‫أن‬‫تكون‬ً‫ا‬‫ر‬‫قاد‬‫على‬‫استخدام‬‫متغَت‬‫يف‬‫أية‬‫وحدة‬،‫ظلطية‬‫على‬‫نفس‬‫ادلبدأ‬‫كما‬‫يف‬‫ادلثال‬،‫السابق‬
‫كل‬‫ما‬‫عليك‬‫فعلو‬‫ىو‬‫استبدال‬Dim with Global
Global var1 As Integer
‫للحفاظ‬‫على‬‫قيمة‬‫متغَت‬‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬‫الذي‬،‫يظهر‬‫استبدال‬Dim with Static :
Sub procedure1()
Static var1 As Integer
End Sub
‫للحفاظ‬‫على‬‫قيمة‬‫متغَت‬‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬‫الذي‬،‫يظهر‬add Static before Sub :
Static Sub procedure1()
Dim var1 As Integer
End Sub
71
‫مثال‬
'Creation of a variable type'‫إٔشبء‬‫ٔٛع‬‫اٌّزغ١ش‬
Type guests
last_name As String
first_name As String
End Type
Sub variables()
'Declaration
Dim p1 As guests
'Assigning values to p1'ٓ١١‫رؼ‬ُ١‫ل‬ٌٝ‫إ‬p1
p1.last_name = "Smith"
p1.first_name = "John"
'Example of use
MsgBox p1.last_name & " " & p1.first_name
End Sub
72
73
VBA Operators and Operands
The Line Continuation Operator: _
،‫نهمشاءة‬ ‫أسٓم‬ ّ‫نجعه‬ ،‫انبشيجٛت‬ ‫انخعهًٛاث‬ ٍ‫ي‬ ‫طٕٚهت‬ ‫لطعت‬ ‫نكخابت‬ ‫حخطظ‬ ‫كُج‬ ‫إرا‬
‫قد‬‫تحتاج‬‫تقسٌم‬ ‫إلى‬‫ذلك‬ً‫ف‬‫خطوط‬‫مختلفة‬.‫للقٌام‬،‫بذلك‬‫ٌمكنك‬‫استخدام‬‫المشؽل‬‫استمرار‬(‫خط‬‫ٌمثله‬‫مسافة‬‫متبوعة‬
‫بشرطة‬‫سفلٌة‬.)
‫إلنشاء‬‫خط‬،‫استمرارا‬‫ضع‬‫مسافة‬،‫فارؼة‬‫اكتب‬_،‫وتستمر‬‫التعلٌمات‬‫البرمجٌة‬ً‫ف‬‫السطر‬ً‫التال‬.‫هنا‬‫مثال‬‫على‬
‫ذلك‬:
Sub _
Exercise()
End Sub
The Parentheses: ()
‫وتستخدم‬‫األقواس‬ً‫ف‬‫مختلؾ‬‫الظروؾ‬.‫مثال‬ً‫ف‬‫عملٌة‬‫مساعدة‬‫إلنشاء‬‫أقسام‬ً‫ف‬‫عملٌة‬.‫وهذا‬‫ٌحدث‬‫بانتظام‬‫عندما‬‫ٌتم‬‫استخدام‬
‫عامل‬ ‫من‬ ‫اكثر‬‫تشؽٌل‬ً‫ف‬‫عملٌة‬.‫النظر‬ً‫ف‬‫العملٌة‬‫التالٌة‬:
8 + 3 * 5
‫إضافح‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ‫ِا‬ ٍٝ‫ػ‬ ‫ذؼرّذ‬ ‫اٌؼٍّ١ح‬ ٖ‫٘ز‬ ‫ٔر١عح‬8ٌٝ‫ا‬3ٟ‫ف‬ ‫إٌاذط‬ ‫ضشب‬ ُ‫ش‬5ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ٚ‫أ‬‫خ‬‫ضشب‬3ٟ‫ف‬5ُ‫ش‬
‫ي‬ ‫إٌر١عح‬ ‫تئضافح‬ ُ‫ل‬8.‫تاٌرؽذ٠ذ‬ ‫ٌه‬ ‫ذغّػ‬ ‫األلٛاط‬.‫ذض١ف‬ ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ،‫ِصإٌا‬ ٟ‫ف‬8ٌٝ‫ا‬3‫إٌر١عح‬ َ‫ٚاعرخذا‬ ً‫ال‬ٚ‫أ‬
ٝ‫ف‬ ‫ٌضشتٙا‬5‫أورة‬ ‫عٛف‬ ،(8+3* )5.‫٠ٕرط‬ ْ‫أ‬ ٗٔ‫شأ‬ ِٓ ‫٘زا‬55.‫ذضشب‬ ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ،ٜ‫أخش‬ ‫ٔاؼ١ح‬ ِٓ3ٟ‫ف‬
5ٌٝ‫إ‬ ‫إٌر١عح‬ ‫إضافح‬ ُ‫ش‬ ‫أٚال‬8‫أورة‬ ‫عٛف‬ ،8( +3*5).‫٠ٕرط‬ ْ‫أ‬ ٗٔ‫شأ‬ ِٓ ‫٘زا‬23.
The Comma ,
‫ِعّٛػح‬ ٟ‫ف‬ ‫ِٕفظٍح‬ ‫ٌّرغ١شاخ‬ ‫فاطٍح‬ َ‫اعرخذا‬ ُ‫٠ر‬.‫اٌّرغ١شاخ‬ ‫أعّاء‬ ‫ٌرؽذ٠ذ‬ ‫اعرخذاِٙا‬ ٓ‫٠ّى‬ ‫فاطٍح‬ ،‫اٌّصاي‬ ً١‫عث‬ ٍٝ‫ػ‬
‫اٌخظ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫ذؼش٠فٙا‬ ُ‫ذ‬ ٟ‫اٌر‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِصاي‬ ٛ٘ ‫ٕ٘ا‬:
Sub Exercise()
Dim FirstName As String, LastName As String, FullName As String
End Sub
74
The Double Quotes: ""
‫الرموز‬‫و‬ ‫األحرف‬ ‫من‬ ‫رلموعة‬ ‫لتحديد‬ ‫تستخدم‬
Sub Exercise()
Dim FirstName As String, LastName As String, FullName As String
FirstName = "Valère"
ActiveCell.FormulaR1C1 = FirstName
End Sub
The Colon Operator :
‫اٌغطش‬ ٍٝ‫ػ‬ ‫ِٕٙا‬ ً‫و‬ ‫ٔىرة‬ ‫وٕا‬ ، ٖ‫اٌمشاء‬ ٝ‫ف‬ ًٙ‫اع‬ ‫ٌٚعؼٍٙا‬ ‫ِخرٍفح‬ ‫تث١أاخ‬ ‫اإلدالء‬ ٟ‫ف‬ ،‫اٌٛلد‬ ُ‫ِؼظ‬
ٗ‫ت‬ ‫اٌخاص‬.‫أِصٍح‬ ‫ٕٚ٘ا‬:
Sub Exercise()
Dim FirstName As String, LastName As String
FirstName = "Valère"
LastName = "Edou"
End Sub
‫ٌغح‬Visual Basic‫اٌخظ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫اٌضشٚسج‬ ‫ؼغة‬ ‫اٌث١أاخ‬ ِٓ ‫اٌؼذ٠ذ‬ ‫ٌىراتح‬ ‫ٌه‬ ‫ذغّػ‬.ً‫فظ‬ ‫٠عة‬ ،‫تزٌه‬ َ‫اٌم١ا‬ ‫ػٕذ‬
ٓ١‫تٕمطر‬ ‫اٌث١أاخ‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِصاي‬ ٛ٘ ‫ٕ٘ا‬:
Sub Exercise()
Dim FirstName As String, LastName As String
FirstName = "Valère" : LastName = "Edou"
ActiveCell.FormulaR1C1 = FirstName
End Sub
75
String Concatenation: &
The & operator is
‫التعبٌرات‬ ‫أو‬ ‫سلسلتٌن‬ ‫إللحاق‬ ‫تستخدم‬.‫لهم‬ ‫وصل‬ ‫كما‬ ‫هذا‬ ‫وٌعتبر‬.‫االسم‬ ‫من‬ ‫لسلسلة‬ ‫بوصل‬ ‫لك‬ ‫تسمح‬ ‫أن‬ ‫ٌمكن‬ ،‫المثال‬ ‫سبٌل‬ ‫على‬
‫الكامل‬ ‫االسم‬ ‫عنه‬ ‫ٌنتج‬ ‫مما‬ ،‫العائلة‬ ‫واسم‬ ‫األول‬.‫هو‬ ‫سلسلة‬ ‫للعامل‬ ‫العام‬ ‫الجملة‬ ‫بناء‬
Value1 & Value2
‫من‬ ‫العدٌد‬ ‫استخدام‬ ‫ٌمكنك‬ ،‫الطرٌقة‬ ‫بنفس‬The & operator‫التعبٌرات‬ ‫أو‬ ‫السالسل‬ ‫من‬ ‫اثنٌن‬ ‫أي‬ ‫بٌن‬ ‫ترٌد‬ ‫كما‬.‫وصل‬ ‫بعد‬
‫التعٌٌن‬ ‫عامل‬ ‫باستخدام‬ ‫آخر‬ ‫تعبٌر‬ ‫أو‬ ‫متؽٌر‬ ‫إلى‬ ‫النتٌجة‬ ‫تعٌٌن‬ ‫ٌمكنك‬ ،‫القٌم‬ ‫أو‬ ‫التعبٌرات‬.‫أمثلة‬ ‫وهنا‬:
Sub Exercise()
Dim FirstName As String, LastName As String, FullName As String
FirstName = "Valère"
LastName = "Edou"
FullName = FirstName & " " & LastName
End Sub
Carriage Return-Line Feed
‫إذا‬‫كنت‬‫تقوم‬‫بعرض‬‫سلسلة‬‫الوصل‬ ‫اداه‬ ‫استخدام‬ ‫ٌمكنك‬ ‫طوٌله‬ ‫ولكنها‬vbCrLf
Sub Exercise()
Dim FirstName As String, LastName As String, FullName As String
Dim Accouncement As String
FirstName = "Valère"
LastName = "Edou"
FullName = FirstName & " " & LastName
Accouncement = "Student Registration - Student Full Name: " & _
vbCrLf & FullName
ActiveCell.FormulaR1C1 = Accouncement
End Sub
76
Arithmetic Operators
Addition +
‫تتم‬‫اإلضافة‬‫مع‬‫عالمة‬+‫ٌتم‬‫استخدامها‬‫إلضافة‬‫قٌمة‬‫واحدة‬‫إلى‬‫أخرى‬.‫هنا‬‫مثال‬‫على‬‫ذلك‬:
Sub Exercise()
Dim Side#
Dim Perimeter#
Side# = 42.58
Perimeter# = Side# + Side# + Side# + Side#
End Sub
‫للرمز‬ ‫ٌمكن‬ ،‫الحسابٌة‬ ‫العملٌات‬ ‫جانب‬ ‫الى‬+‫أخرى‬ ‫إلى‬ ‫واحدة‬ ‫سلسلة‬ ‫إلضافة‬ ،‫هو‬ ‫وهذا‬ ،‫السالسل‬ ‫لوصل‬ ‫أٌضا‬ ‫ٌستخدم‬ ‫أن‬.‫ٌتم‬
‫اآلخر‬ ‫نهاٌة‬ ً‫ف‬ ‫السلسلة‬ ‫إلحاق‬ ‫طرٌق‬ ‫عن‬ ‫ذلك‬‫ى‬‫ذلك‬ ‫على‬ ‫مثال‬ ‫هو‬ ‫هنا‬:
Sub Exercise()
Dim FirstName$, LastName$, FullName$
FirstName$ = "Danielle"
LastName$ = "Kouma"
FullName$ = FirstName$ + " " + LastName$
ActiveCell.FormulaR1C1 = FullName$
End Sub
Multiplication *
‫عالمة‬ ‫باستخدام‬ ‫الضرب‬ ‫عملٌة‬ ‫إجراء‬ ‫ٌتم‬*
Sub Exercise()
Dim Side#
Dim Area#
Side# = 42.58
Area# = Side# * Side#
End Sub
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel
Vba excel

Mais conteúdo relacionado

Semelhante a Vba excel

الدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
الدرس الثاني في تقنيات وبرمجة الاجهزة الذكيةالدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
الدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
Mo7amm8d
 
Course lab
Course labCourse lab
Course lab
ashwaq76
 
Course lab
Course labCourse lab
Course lab
ashwaq76
 
العروض التقديمية
العروض التقديميةالعروض التقديمية
العروض التقديمية
SALEH ALBHADAL
 
برنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبيبرنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبي
Saif Alzoubi
 
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
ssuser6c0488
 

Semelhante a Vba excel (20)

Computer school-books-3rd-preparatory-1st-term-khawagah-2019-10
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-10Computer school-books-3rd-preparatory-1st-term-khawagah-2019-10
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-10
 
الجزء العملى فى منهج الصف الثالث الإعدادى Visual Basic.Net 2005
الجزء العملى فى منهج الصف الثالث الإعدادى Visual Basic.Net 2005الجزء العملى فى منهج الصف الثالث الإعدادى Visual Basic.Net 2005
الجزء العملى فى منهج الصف الثالث الإعدادى Visual Basic.Net 2005
 
word
word word
word
 
الدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
الدرس الثاني في تقنيات وبرمجة الاجهزة الذكيةالدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
الدرس الثاني في تقنيات وبرمجة الاجهزة الذكية
 
Course lab
Course labCourse lab
Course lab
 
Course lab
Course labCourse lab
Course lab
 
Introduction to lookout
Introduction to lookoutIntroduction to lookout
Introduction to lookout
 
اهم ماكتب محمد ابوسامرة
اهم ماكتب محمد ابوسامرةاهم ماكتب محمد ابوسامرة
اهم ماكتب محمد ابوسامرة
 
عرض وحدة تقنيات التحكم الرقمي والروبوت
عرض وحدة تقنيات التحكم الرقمي والروبوتعرض وحدة تقنيات التحكم الرقمي والروبوت
عرض وحدة تقنيات التحكم الرقمي والروبوت
 
Computer school-books-3rd-primary-2nd-term-khawagah-2019-2
Computer school-books-3rd-primary-2nd-term-khawagah-2019-2Computer school-books-3rd-primary-2nd-term-khawagah-2019-2
Computer school-books-3rd-primary-2nd-term-khawagah-2019-2
 
Excel1
Excel1Excel1
Excel1
 
العروض التقديمية
العروض التقديميةالعروض التقديمية
العروض التقديمية
 
computer-6th-primary-2nd-term
computer-6th-primary-2nd-termcomputer-6th-primary-2nd-term
computer-6th-primary-2nd-term
 
الملحق العملي لقواعد البيانات - تكنولوجيا الصف العاشر
الملحق العملي لقواعد البيانات - تكنولوجيا الصف العاشرالملحق العملي لقواعد البيانات - تكنولوجيا الصف العاشر
الملحق العملي لقواعد البيانات - تكنولوجيا الصف العاشر
 
برنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبيبرنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبي
 
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
1_2+Looking+at+the+Windows+10+Desktop_الدرس_الثاني.pptx
 
1 prep
1 prep1 prep
1 prep
 
Cx 105 sokkia
Cx 105 sokkia Cx 105 sokkia
Cx 105 sokkia
 
البرمجة
البرمجةالبرمجة
البرمجة
 
Computer school-books-1st-preparatory-1st-term-khawagah-2019-2
Computer school-books-1st-preparatory-1st-term-khawagah-2019-2Computer school-books-1st-preparatory-1st-term-khawagah-2019-2
Computer school-books-1st-preparatory-1st-term-khawagah-2019-2
 

Mais de mamdoh osman

Mais de mamdoh osman (12)

قرار54 لسنه 2012
قرار54 لسنه 2012قرار54 لسنه 2012
قرار54 لسنه 2012
 
قرار 172 لسنه 2015 (لائحه ق 91 الجديدة)
قرار 172 لسنه 2015 (لائحه ق 91 الجديدة)قرار 172 لسنه 2015 (لائحه ق 91 الجديدة)
قرار 172 لسنه 2015 (لائحه ق 91 الجديدة)
 
نسب الخصم والتحصيل
نسب الخصم والتحصيلنسب الخصم والتحصيل
نسب الخصم والتحصيل
 
قانون 91 لسنه 2005 محدثا بالقانون 17 لسنه2015
قانون 91 لسنه 2005 محدثا بالقانون 17 لسنه2015قانون 91 لسنه 2005 محدثا بالقانون 17 لسنه2015
قانون 91 لسنه 2005 محدثا بالقانون 17 لسنه2015
 
اختصارات الكى بورد
اختصارات الكى بورداختصارات الكى بورد
اختصارات الكى بورد
 
لمعرفه تاريخ معين
لمعرفه تاريخ معينلمعرفه تاريخ معين
لمعرفه تاريخ معين
 
قانون 96 لسنه 2015
قانون 96 لسنه 2015قانون 96 لسنه 2015
قانون 96 لسنه 2015
 
قانون 101 لسنة 2012
قانون 101 لسنة 2012قانون 101 لسنة 2012
قانون 101 لسنة 2012
 
مبادئ المحاسبة
مبادئ المحاسبةمبادئ المحاسبة
مبادئ المحاسبة
 
الموازنات واعداد التقارير
الموازنات واعداد التقاريرالموازنات واعداد التقارير
الموازنات واعداد التقارير
 
أساسيات المحاسبة المالية 2013
أساسيات المحاسبة المالية 2013أساسيات المحاسبة المالية 2013
أساسيات المحاسبة المالية 2013
 
Egyptian taxlaw2005
Egyptian taxlaw2005Egyptian taxlaw2005
Egyptian taxlaw2005
 

Último

تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
تنوع الفطريات وأنواعها الكثيرة المتنوعة 1تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
alialbaghdadi9969
 
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrrامتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
mhosn627
 

Último (20)

.العروض التقديمية والرسومات التعليمية bdf
.العروض التقديمية والرسومات التعليمية bdf.العروض التقديمية والرسومات التعليمية bdf
.العروض التقديمية والرسومات التعليمية bdf
 
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيااهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
 
محمد احمد سيد احمد محمد سباق عمر يوسف عبدالكريم
محمد احمد سيد احمد محمد سباق عمر يوسف عبدالكريممحمد احمد سيد احمد محمد سباق عمر يوسف عبدالكريم
محمد احمد سيد احمد محمد سباق عمر يوسف عبدالكريم
 
تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
تنوع الفطريات وأنواعها الكثيرة المتنوعة 1تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
تنوع الفطريات وأنواعها الكثيرة المتنوعة 1
 
REKOD TRANSIT BAHASA ARAB SK Tahun 3.pptx
REKOD TRANSIT BAHASA ARAB SK Tahun 3.pptxREKOD TRANSIT BAHASA ARAB SK Tahun 3.pptx
REKOD TRANSIT BAHASA ARAB SK Tahun 3.pptx
 
تاريخ ونظرية العماره الحضارة الرومانية.pdf
تاريخ ونظرية العماره الحضارة الرومانية.pdfتاريخ ونظرية العماره الحضارة الرومانية.pdf
تاريخ ونظرية العماره الحضارة الرومانية.pdf
 
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.pptالأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
 
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكردمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
 
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيااهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
اهمية ملحمة جلجامش تاريخيا وفكريا وأدبيا
 
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
 
.. مهارات ادارة الوقت و مهارات تنظيم الوقت.ppt
.. مهارات ادارة الوقت و مهارات تنظيم الوقت.ppt.. مهارات ادارة الوقت و مهارات تنظيم الوقت.ppt
.. مهارات ادارة الوقت و مهارات تنظيم الوقت.ppt
 
اللام الشمسية واللام القمرية لصف الرابع
اللام الشمسية واللام القمرية  لصف الرابعاللام الشمسية واللام القمرية  لصف الرابع
اللام الشمسية واللام القمرية لصف الرابع
 
السرقات الشعرية إعداد غادة محمد عبد الراضي
السرقات الشعرية إعداد غادة محمد عبد الراضيالسرقات الشعرية إعداد غادة محمد عبد الراضي
السرقات الشعرية إعداد غادة محمد عبد الراضي
 
"الدعامة الأساسية التي يقوم عليها التقويم الذاتي
"الدعامة الأساسية التي يقوم عليها التقويم الذاتي"الدعامة الأساسية التي يقوم عليها التقويم الذاتي
"الدعامة الأساسية التي يقوم عليها التقويم الذاتي
 
عرض تقديمي النقائض في العصر الأموي إعداد سلوي أحمد
عرض تقديمي النقائض في العصر الأموي إعداد سلوي أحمدعرض تقديمي النقائض في العصر الأموي إعداد سلوي أحمد
عرض تقديمي النقائض في العصر الأموي إعداد سلوي أحمد
 
by modar saleh في التصوير التلفزيوني أحجام اللقطات .ppt
by modar saleh في التصوير التلفزيوني أحجام اللقطات .pptby modar saleh في التصوير التلفزيوني أحجام اللقطات .ppt
by modar saleh في التصوير التلفزيوني أحجام اللقطات .ppt
 
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrrامتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
امتحانات النحو وإجاباتها.pdfrrrrrrrrrrrrrr
 
عرض تقديمي لعملية الجمع للاطفال ورياض الاطفال
عرض تقديمي لعملية الجمع للاطفال ورياض الاطفالعرض تقديمي لعملية الجمع للاطفال ورياض الاطفال
عرض تقديمي لعملية الجمع للاطفال ورياض الاطفال
 
أدب درس النقائض إعداد سلوي أحمد بديرأحمد
أدب درس النقائض إعداد سلوي أحمد بديرأحمدأدب درس النقائض إعداد سلوي أحمد بديرأحمد
أدب درس النقائض إعداد سلوي أحمد بديرأحمد
 
من قصص القرآن الكريم تحكي عن قصة سيدنا يونس عليه السلام وماذا فعل مع قومه بدو...
من قصص القرآن الكريم تحكي عن قصة سيدنا يونس عليه السلام وماذا فعل مع قومه بدو...من قصص القرآن الكريم تحكي عن قصة سيدنا يونس عليه السلام وماذا فعل مع قومه بدو...
من قصص القرآن الكريم تحكي عن قصة سيدنا يونس عليه السلام وماذا فعل مع قومه بدو...
 

Vba excel

  • 1. 1
  • 2. 2 ‫ُسإء‬‫ؤ‬‫إ‬ ‫ؤىل‬‫إ‬ ‫ؤُسإء‬‫إ‬ ‫إًىذاب‬ ‫ُشإ‬/‫إدلىت‬‫و‬ ‫هللا‬ ‫رمحِا‬
  • 3. 3 ‫ًًل‬ ‫ما‬ ‫ًدٌاول‬ ‫ًىذاب‬‫إ‬-: : ❑‫ادلصفوفات‬‫و‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫يف‬ ‫ادلعلومات‬ ‫ين‬‫ز‬‫زب‬ ❑‫الربرلية‬ ‫التعليمات‬ ‫يف‬ ‫ار‬‫ر‬‫الق‬ ‫صنع‬ ❑‫احللقا‬‫ت‬ ❑‫األخطا‬ ‫معاجلة‬‫ء‬ ❑‫فورم‬ ‫اليوزر‬ ‫ؤؿسإد‬‫إ‬-:‫َلس‬ ‫محسإن‬ ‫حيىي‬ ‫ذادل‬ ‫ذباره‬ ‫يوس‬‫ر‬‫بكالو‬ ‫ذبارى‬ ‫بشكل‬ ‫استغاللو‬ ‫الحد‬ ‫ػلق‬ ‫وال‬ ‫رلاىن‬ ‫الكتاب‬
  • 4. 4 ‫الكتاب‬ ‫زلتويات‬1 1. Chapter 1 :- getting Started i. ‫ا‬‫و‬‫ادلاكر‬ ii. ‫االمان‬ ‫اعدادات‬ iii. Msg Box 2. Chapter 2 :- Sheets , Cells i. ‫التحديد‬ ii. ‫اخلصائص‬ iii. With ……End with iv. Colors 3. Chapter 3 :- Variable / Variable Type i. Variable ii. Object variable iii. Variable type iv. Array ‫ادلصفوفو‬ v. Constant ‫ابت‬‫و‬‫الث‬ vi. ‫ات‬‫َت‬‫ادلتغ‬ ‫مدى‬ 4.Chapter 4 :- operators and operands 5. Chapter 5 :- procedures and Functions i. Public , Private ii. Functions iii. Arguments ‫الوسائط‬ iv. Optinal Arguments v. By Val , By Ref 6. Chapter 6 :- Condetion i. If condition ii. Select Case iii. Loop iv. Input Box 7. Chapter 7 :- properties / Methods i. Offset property ii. Resize property iii. Address property iv. Current Region property v. Clear Method vi. Cut , Copy , Past Special vii. Insert , Delete Methods viii. Count Property ix. Value Property x. Text Property xi. Column , Row Properties xii. Has formula Property xiii. Set keyword xiv. Enter Row , Enter Column xv. Hidden xvi. Formula • Absolute formula • Relative formula
  • 5. 5 2 8. Chapter 8 :- Events i. Work book Events ii. Worksheet Events iii. On Time Event 9. Chapter 9 :- Strings –Strings functions i. LCase – UCase ii. Trim –Len –Space iii. Replace function iv. Mid function v. Option Explicit vi. Split function vii. Join function 10. Chapter 10 :- Arrays i. Usinge Arrays ii. Using Arrays ( exercise) 11.Chapter 11 :- supplements i. Using excel functions ii. Vba Triks • Date and Time • Random Number • Stop Macro • Counter  ‫ىامو‬ ‫وظائف‬  ‫البيان‬ ‫نوع‬ ‫اختبار‬ ‫وظائف‬  ‫ياضيو‬‫ر‬‫ال‬ ‫ال‬‫و‬‫الد‬  ‫البيان‬ ‫نوع‬ ‫ربويل‬ ‫داالت‬  ‫الوقت‬‫و‬ ‫يخ‬‫ر‬‫التا‬ ‫داالت‬  ‫ادلاليو‬ ‫ال‬‫و‬‫الد‬  OnKey Method  OnUndo Method  For Eash …………..Next 12. Chapter 12 :- Error Handling i. Error ii. Type of Error iii. Immediate Window iv. Debugging 13.Chapter 13 :- UserForm Chapter 14 :- Synatix o Is Numeric o Mod o Round o Val o Is null o format ‫استخدام‬ ‫على‬ ‫تطبيق‬VlookUp‫فورم‬ ‫اليوزر‬ ‫ىف‬ ‫العمل‬ ‫ورقو‬ ‫نفس‬ ‫وىف‬ ‫اخرى‬ ‫اىل‬ ‫عمل‬ ‫ورقو‬ ‫من‬ ‫الًتحيل‬ ‫الفورم‬ ‫ىف‬ ‫احلذف‬‫و‬ ‫التعديل‬‫و‬ ‫البحث‬‫و‬ ‫الًتحيل‬ ‫على‬ ‫نطبيق‬ ‫التعديل‬‫و‬ ‫الًتحيل‬ ‫بعد‬ ‫الفورم‬ ‫عناصر‬ ‫لتصفيو‬ ‫شليز‬ ‫كود‬ ‫الفورم‬ ‫خالل‬ ‫من‬ ‫للًتحيل‬ ‫اخر‬ ‫شكل‬ ‫العمل‬ ‫لورقو‬ ‫بالنسبو‬ ‫فورم‬ ‫اليوزر‬ ‫موضع‬ ‫تعيُت‬ ‫فورم‬ ‫باليوزر‬ ‫اخلروج‬ ‫زر‬ ‫تعطيل‬ ‫فورم‬ ‫لليوزر‬ ‫وتصغَت‬ ‫تكبَت‬ ‫زر‬ ‫إظهار‬ ‫الفورم‬ ‫وإظهار‬ ‫االكسيل‬ ‫إخفاء‬ ‫كود‬ ‫ادلتكرر‬ ‫حذف‬ ‫كود‬ ‫سرى‬ ‫برقم‬ ‫اد‬‫و‬‫االك‬ ‫ضبايو‬ ‫فورم‬ ‫خالل‬ ‫من‬ ‫للتطبيق‬ ‫باسورد‬ ‫وضع‬ ‫اجع‬‫ر‬‫ادل‬ ‫قائمو‬
  • 6. 6
  • 7. 7 ‫باستخدام‬VBA‫مع‬ ‫زبيلها‬ ‫ؽلكن‬ ‫يبا‬‫ر‬‫تق‬ ‫شيء‬ ‫أي‬ ‫نفعل‬ ‫أن‬ ‫ؽلكننا‬ ،Excel ... ‫دعو‬ ،‫نبدأ‬ ‫أن‬ ‫قبل‬ ‫ولكن‬‫ن‬ ‫نا‬‫ئية‬‫ر‬‫م‬ ‫ضلتاجها‬ ‫اليت‬ ‫ات‬‫و‬‫األد‬ ‫أن‬ ‫من‬ ‫تأكد‬. ‫تستخدم‬ ‫كنت‬‫إذا‬‫نسخو‬( Excel 2007)‫أعلى‬ ‫إصدار‬ ‫أو‬ click ". Office button, then click Excel Options ‫ابالسفي‬ ‫سيتم‬‫إضافة‬‫عالمة‬‫تبويب‬‫وىى‬ ‫جديدة‬Developer:
  • 9. 9 First Macro ‫َية‬‫مـ‬ ‫همام‬ ‫إمتام‬ ‫خسإ‬ ‫إًسِي‬ ‫من‬ ‫جيـي‬ ‫إملاهصو‬ ‫مسجي‬. ‫إًخاًَة‬ ‫إءإت‬‫ص‬‫ؤح‬‫ال‬‫إ‬ ‫هيفش‬ ‫سوف‬ ، ‫مثال‬ ‫ؤؾعاء‬‫ال‬: ‫معسة‬‫أ‬‫ل‬‫إ‬ ‫حمخوايت‬ ‫حشف‬A‫و‬C ‫إًـمود‬ ‫حمخوايت‬ ‫هلي‬B‫إًـمود‬ ‫ؤىل‬‫إ‬A ‫إًـمود‬ ‫حمخوايت‬ ‫هلي‬D‫إًـمود‬ ‫ؤىل‬‫إ‬C ‫ؿىل‬ ‫إهلص‬ ،‫تشكل‬ ‫ٌَلِام‬" "Ok" " Record Macro "‫إهلعاع‬ ‫دون‬ ٍ‫ؿال‬‫أ‬‫أ‬ ‫ملشهورة‬‫إ‬ ‫إءإت‬‫ص‬‫ؤح‬‫ال‬‫إ‬ ‫هفش‬ ‫سجَهل‬‫ج‬ ‫سُمت‬ ‫ثفـهل‬ ‫ما‬ ‫لك‬ ‫ن‬‫أ‬‫ل‬‫ؿىل‬ ‫إضلط‬ ‫مث‬ ‫ومن‬" Stop Recording".
  • 10. 10 ٚ‫ا‬ Start Recording Stop the Recording ‫رمز‬ ‫إىل‬ ‫وترصبتها‬ ‫اءاتك‬‫ر‬‫إج‬ ‫إكسيل‬ ‫سجل‬ ‫قد‬VBA. ‫بك‬ ‫اخلاص‬ ‫ادلاكرو‬ ‫لعرض‬ open the editor (Alt + F11) and click on "Module1" : ‫ادلسجلو‬ ‫اءات‬‫ر‬‫اإلج‬ ‫سبثل‬ ‫الشفرة‬ ‫ىذه‬
  • 11. 11 ‫إكسيل‬ ‫انشأىا‬ ‫اليت‬ ‫الربرلية‬ ‫التعليمات‬ ‫يف‬ ‫للنظر‬ ‫حلظة‬ ‫نتوقف‬ ‫دعونا‬: Sub Macro1() ' ' Macro1 Macro ' ' Columns("A:A").Select Selection.ClearContents Columns("C:C").Select Selection.ClearContents Columns("B:B").Select Selection.Cut Destination:=Columns("A:A") Columns("D:D").Select Selection.Cut Destination:=Columns("C:C") Columns("C:C").Select End Sub Sub and End Sub‫ادلاكرو‬ ‫وهناية‬ ‫بداية‬ ‫ربديد‬"Macro1"‫ادلاكرو‬ ‫ىذا‬ ‫اسم‬ ‫ىو‬: ‫وتغيَت‬ ، ‫الوصف‬ ‫حيث‬ ‫من‬ ‫أكثر‬ ‫جلعلو‬ ‫ادلاكرو‬ ‫اسم‬ ‫نعدل‬ ‫دعونا‬"Macro1"‫إىل‬"column_handling"‫ال‬ ‫ادلسافات‬ ‫أي‬ ‫على‬ ‫ادلاكرو‬ ‫اسم‬ ‫ػلتوي‬ ‫أن‬ ‫ؽلكن‬" ‫األخضر‬ ‫باللون‬ ‫النص‬)‫التعليق‬ ‫ىو‬ ‫أحادية‬ ‫اقتباس‬ ‫بعالمة‬ ‫سبق‬ ‫نص‬(‫الربرلية‬ ‫التعليمات‬ ‫تنفيذ‬ ‫يتم‬ ‫عندما‬ ‫ذباىلو‬ ‫وسيتم‬ ،: ' ' Macro1 Macro ' ‫التعليمات‬ ‫من‬ ‫الكثَت‬ ‫ىناك‬ ‫يكون‬ ‫عندما‬ ‫األشياء‬ ‫على‬ ‫للعثور‬ ‫جدا‬ ‫مفيدة‬ ‫تكون‬ ‫أن‬ ‫ؽلكن‬ ‫التعليق‬ ‫من‬ ‫النوع‬ ‫ىذا‬ ‫الربرلية‬ Sub Macro1() End Sub Sub column_handling()
  • 12. 12 Sub column_handling() ' 'My first commentary ! ' Columns("A:A").Select Selection.ClearContents Columns("C:C").Select Selection.ClearContents Columns("B:B").Select Selection.Cut Destination:=Columns("A:A") Columns("D:D").Select Selection.Cut Destination:=Columns("C:C") Columns("C:C").Select End Sub ‫ا‬‫و‬‫ادلاكر‬ ‫ىذا‬ ‫تنفيذ‬ ‫يد‬‫ر‬‫ن‬ ‫االن‬ Click on Insert > Button ‫بإنشائو‬ ‫قمت‬ ‫الذي‬ ‫ادلاكرو‬ ‫حدد‬ ‫فقط‬ ‫ذلك‬ ‫وبعد‬ ‫بك‬ ‫اخلاص‬ ‫الزر‬ ‫اج‬‫ر‬‫إد‬:
  • 13. 13 ‫مث‬ ‫ؽلُت‬ ‫كليك‬‫الزر‬ ‫اسم‬ ‫تغيَت‬ ‫اردت‬ ‫اذا‬‫و‬
  • 14. 14 ‫مان‬‫أ‬‫ل‬‫إ‬ ‫ؤؿسإدإت‬‫إ‬ ‫ًلة‬ ‫ن‬‫أ‬‫أ‬ ‫مبا‬VBA،َََ‫ؿ‬ ‫إًربانمج‬ ‫ُشإ‬ ‫شلَي‬‫ج‬ ‫ًمت‬ ‫إذلي‬ ‫ابذلاسة‬ ‫ثرض‬ ‫كس‬ ‫إمج‬‫ص‬‫ج‬ ‫ؤوشاء‬‫ال‬ ‫إًحـظ‬ ‫خلَِا‬‫ٌس‬ ‫كس‬ َ‫ه‬‫أ‬‫أ‬ ‫ًـين‬ ‫فِشإ‬ ‫جصجمة‬ ‫ًلة‬ ‫يه‬ ‫إمج‬‫رب‬ً‫إ‬ ٍ‫ُش‬ ‫مثي‬ ‫دعورة‬ ‫من‬ ‫ٌَحس‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫تـظ‬ ‫ؤضافة‬‫إ‬ ‫ماٍىصوسوفت‬ ‫رشنة‬ ‫كصرت‬ ‫ذلكل‬. ‫إًخاًَة‬ ‫إت‬‫و‬‫إرلع‬ ‫وفق‬ ‫إرلاضة‬ ‫إًيافشة‬ ‫ؤىل‬‫إ‬ ‫هسذي‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫ًخحسًس‬: ‫ؤهسي‬‫إ‬ ‫جصانمج‬ ‫زر‬ ‫ؿىل‬ ‫هضلط‬‫ؿىل‬ ‫مث‬Excel Options‫خنخار‬ ‫مث‬Trust Center‫زر‬ ‫ؿىل‬ ‫هضلط‬ ‫مث‬ ‫مئة‬‫ا‬‫إًل‬ ‫من‬Trust Center Settings‫خنخار‬ ‫إدلسًسة‬ ‫إًيافشة‬ ‫ومن‬Macro Settings‫ًًل‬ ‫ما‬ ‫فِؼِص‬ ‫مئة‬‫ا‬‫إًل‬ ‫من‬: ‫يه‬ ‫إت‬‫ر‬‫إرلَا‬: ‫إمج‬‫ص‬‫ج‬ ‫شلَي‬‫ج‬ ‫من‬ ‫ؤهسي‬‫إ‬ ‫مييؽ‬ ‫إرلَار‬ ‫ُشإ‬VBA‫إملَف‬ ‫مؽ‬ ‫فلة‬‫ص‬‫إمل‬Disable all macros without notification ‫إرلَار‬ ‫ُشإ‬(‫إيض‬‫رت‬‫الاف‬ ‫وُو‬)‫ًـعي‬ ‫ًىن‬ ‫إًساتق‬ ‫مثي‬ ‫إمج‬‫ص‬‫ج‬ ‫توحود‬ ‫خزسم‬‫ٌَمس‬ ً‫ا‬‫ثيخهي‬VBA‫شلََِا‬‫تد‬ ‫هل‬ ‫ٌسمح‬‫و‬ ً‫ا‬‫الحل‬ ‫موحض‬ ‫ُو‬ ‫نٌل‬ Disable all macros with notification ‫جصانمج‬ ‫اكن‬ ‫ؤن‬‫ا‬‫ف‬ ،‫إًساتلني‬ ‫ٍن‬‫ر‬‫إرلَا‬ ‫من‬ ‫مزجي‬ ‫إرلَار‬ ‫ُشإ‬VBA ً‫ا‬‫ثوكِـ‬ ‫حيوي‬ ‫اكن‬ ‫ن‬‫ؤ‬‫إ‬‫و‬ ،‫ؤهسي‬‫ال‬‫إ‬ ‫ًخجاُهل‬ ً‫ا‬َ‫مق‬‫ر‬ ً‫ا‬‫ثوكِـ‬ ‫حيوي‬ ‫ال‬ ‫شلَي‬‫تد‬ ‫ًلوم‬ ‫ن‬‫أ‬‫أ‬ ‫ذالهل‬ ‫من‬ ‫هل‬ ‫ٌسمح‬ ً‫ا‬‫ثيخهي‬ ‫خزسم‬‫إملس‬ ‫ًـعي‬ ‫مجَؽ‬ ‫فذح‬ ‫ًمت‬ ‫ن‬‫أ‬‫أ‬ ‫مبـىن‬ ،ً‫ا‬‫دإمئ‬ ‫إًخوكِؽ‬ ‫تطاحة‬ ‫ًثق‬ ‫ن‬‫أ‬‫أ‬ ‫و‬‫أ‬‫أ‬ ‫إًربانمج‬ ‫إل‬‫ؤ‬‫إًس‬ ‫دون‬ ً‫ا‬‫الحل‬ ‫إًخوكِؽ‬ ‫تيفس‬ ‫إملوكـة‬ ‫إمج‬‫رب‬ً‫إ‬. Disable all macros except digitally signed macros ‫إل‬‫ؤ‬‫س‬ ‫دون‬ ‫جصانمج‬ ‫ي‬‫أ‬‫أ‬ ‫شلَي‬‫تد‬ ‫ؤهسي‬‫ال‬ ‫ٌسمح‬ ‫إرلَار‬ ‫ُشإ‬ ‫إرلَار‬ ‫ُشإ‬ ‫خزسإم‬‫إس‬ ‫ؿسم‬ ‫ًفضي‬‫و‬ ،‫خزسم‬‫إملس‬ Enable all macros
  • 15. 15 ‫إمج‬‫ص‬‫ج‬ ‫حيوي‬ ‫ؤهسي‬‫إ‬ ‫مَف‬ ‫فذح‬ ‫ؾيس‬VBA‫و‬‫أ‬‫أ‬(‫ماهصو‬)‫كس‬ ‫اكن‬ ‫ؤن‬‫ا‬‫ف‬ ،ً‫ا‬‫حل‬‫مس‬ ‫خزسم‬‫إملس‬ ‫هل‬ ‫حسدُا‬ ‫إًيت‬ ‫مان‬‫أ‬‫ل‬‫إ‬ ‫إت‬‫ر‬‫دِا‬ ‫يف‬ ‫ًيؼص‬ ‫ماٍىصوسوفت‬ ََ‫سم‬‫ج‬ ‫نٌل‬ ‫موحض‬ ‫ُو‬ ‫نٌل‬ ً‫ا‬‫ثيخهي‬ ‫هل‬ ‫ًؼِص‬ ‫إًثاًر‬ ‫و‬‫أ‬‫أ‬ ‫إًثاين‬ ‫إرلَار‬ ‫إدذار‬: ‫إًشلك‬(1-2):‫جصانمج‬ ‫وحود‬ َِ‫ثيخ‬VBAَ‫فذح‬ ‫ًمت‬ ‫إذلي‬ ‫إملَف‬ ‫يف‬ ‫ماهصو‬ ‫و‬‫أ‬‫أ‬ ‫زر‬ ‫ؿىل‬ ‫ابًيلص‬Options‫إًخاًَة‬ ‫إًيافشة‬ ‫ثؼِص‬: ‫إًشلك‬(1-3):‫شلَهل‬‫ج‬ ‫هود‬ ‫إذلي‬ ‫ؤهسي‬‫إ‬ ‫مَف‬ ‫مضن‬ ‫إملوحود‬ ‫إملاهصو‬ ‫ثفـَي‬ ‫انفشة‬ ‫خنخار‬ ‫فريوسات‬ ‫حيوي‬ ‫وال‬ ‫سَمي‬ ‫إًربانمج‬ ‫ن‬‫أ‬‫ب‬‫ت‬ ‫هثق‬ ‫نيا‬ ‫ؤن‬‫ا‬‫ف‬Enable this content‫مث‬OK‫هضلط‬ ‫ال‬‫ؤ‬‫إ‬‫و‬Cancel
  • 16. 16 MsgBox ‫مرونة‬ ‫أكثر‬ ‫ادلاكرو‬ ‫وحدات‬ ‫جلعل‬ ‫استخدامها‬ ‫ؽلكنك‬ ‫اليت‬ ‫البسيطة‬ ‫االتصال‬ ‫تقنيات‬ ‫بعض‬ ‫يف‬ ‫ننظر‬ ‫ومفيدة‬.‫الدالة‬ ‫استخدم‬ ، ‫رسالة‬ ‫عرض‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬MsgBox،‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬ ‫مفيد‬ ‫أمر‬ ‫وىو‬ ‫بسيط‬ ‫ال‬‫ؤ‬‫س‬ ‫ح‬‫طر‬ ‫أو‬ ‫ربذير‬ ‫رسالة‬ ‫عرض‬. ‫الطباعة‬ ‫عملية‬ ‫قبل‬ ‫التشغيل‬ ‫وضع‬ ‫يف‬ ‫الطابعة‬ ‫أن‬ ‫من‬ ‫للتأكد‬ ‫يد‬‫ر‬‫ت‬ ، ‫األول‬ ‫ادلثال‬ ‫يف‬. ‫الشكل‬ ‫يف‬ ‫التالية‬ ‫الربرلية‬ ‫التعليمة‬1-21‫من‬ ‫للتحقق‬ ‫فرصة‬ ‫ادلستخدم‬ ‫إعطاء‬ ، ‫الطابعة‬.‫افق‬‫و‬‫م‬ ‫الزر‬ ‫على‬ ‫النقر‬ ‫حىت‬ ‫ادلاكرو‬ ‫توقف‬ ‫و‬: MsgBox “Please make sure that the printer is switched on”
  • 17. 17 Sub Test1() MsgBox “Please make sure that the printer is switched on” End Sub MsgBox (prompt [, buttons] [, title] [, helpfile, context]) ‫اجبارى‬-:‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫م‬ ‫يف‬ ‫كالرسالة‬‫تعرض‬ ‫أحرف‬ ‫سلسلة‬.‫ايل‬‫و‬‫ح‬ ‫الرسالو‬ ‫لطول‬ ‫األقصى‬ ‫احلد‬1024‫على‬ ً‫ا‬‫اعتماد‬ ،ً‫ا‬‫حرف‬ ‫ادلستخدمة‬ ‫األحرف‬ ‫عرض‬.‫إرجاع‬ ‫حرف‬ ‫باستخدام‬ ‫األسطر‬ ‫فصل‬ ‫ؽلكنك‬ ، ‫سطر‬ ‫من‬ ‫أكثر‬ ‫من‬ ‫تتكون‬ ‫الرسالو‬ ‫كانت‬‫إذا‬ ‫األسط‬ ‫تغذية‬ ‫أحرف‬‫و‬‫ر‬&chr (13) & Chr(10)&‫سطر‬ ‫كل‬‫بُت‬.‫او‬vbCrLf MsgBox "NOTICE:" & Chr(13) & Chr(10) & "This is an Important Message!" Prompt ‫اختياري‬.‫ىو‬ ‫قمي‬‫ر‬ ‫تعبَت‬‫النشط‬ ‫الزر‬‫و‬ ‫ادلصاحبو‬ ‫االيقونو‬ ‫وشكل‬ ‫ار‬‫و‬‫احل‬ ‫صندوق‬ ‫نافذه‬ ‫داخل‬ ‫تظهر‬ ‫الىت‬ ‫ار‬‫ر‬‫االز‬ ‫كيبو‬‫تر‬.‫إذا‬ ‫ه‬ ‫ار‬‫ر‬‫لألز‬ ‫اضية‬‫ًت‬‫االف‬ ‫القيمة‬ ،‫حذفها‬ ‫مت‬‫ى‬00 buttons ‫اختياري‬.‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫دل‬ ‫ان‬‫و‬‫العن‬ ‫يط‬‫ر‬‫ش‬ ‫يف‬ ‫ادلعروضة‬ ‫األحرف‬ ‫سلسلة‬.‫يف‬ ‫التطبيق‬ ‫اسم‬ ‫وضع‬ ‫يتم‬ ،‫ان‬‫و‬‫العن‬ ‫حبذف‬ ‫قمت‬ ‫إذا‬ ‫ان‬‫و‬‫العن‬ ‫يط‬‫ر‬‫ش‬. title ‫اختياري‬.‫ار‬‫و‬‫احل‬ ‫بع‬‫ر‬‫دل‬ ‫السياق‬ ‫تتبع‬ ‫تعليمات‬ ‫لتوفَت‬ ‫الستخدامها‬ ‫التعليمات‬ ‫ملف‬ ‫ربدد‬ ‫أحرف‬ ‫سلسلة‬.‫ملف‬ ‫تقدًن‬ ‫مت‬ ‫إذا‬ ‫السياق‬ ‫تقدم‬ ‫أن‬ ‫أيضا‬ ‫غلب‬ ،‫ادلساعدة‬. helpfile ‫اختياري‬.‫التعليمات‬ ‫مؤلف‬ ‫قبل‬ ‫من‬ ‫ادلالئم‬ ‫التعليمات‬ ‫دلوضوع‬ ‫ادلخصصة‬ ‫ادلساعدة‬ ‫إطار‬ ‫قم‬‫ر‬ ‫ىو‬ ‫قمي‬‫ر‬ ‫تعبَت‬.‫توفَت‬ ‫مت‬ ‫إذا‬ ‫ادلساعدة‬ ‫ملف‬ ‫تقدًن‬ ‫أيضا‬ ‫غلب‬ ،‫السياق‬. context Sub Exercise() MsgBox ("Your logon credentials have been checked." & _ vbCrLf & "To complete your application, please " & _ "fill out the following survey") End Sub
  • 18. 18 ‫كز‬‫المر‬ ‫يحددىا‬ ‫التي‬ ‫المعايير‬ ‫صحيح‬ ‫بشكل‬ ‫إدخاذلا‬ ‫مت‬ ‫ادلعلمات‬ ‫أن‬ ‫من‬ ‫للتأكد‬ ‫حباجة‬ ‫كنت‬،‫ادلكان‬ ‫خالل‬ ‫من‬ ‫معلمة‬ ‫بتحديد‬ ‫قمت‬ ‫إذا‬ .‫اصل‬‫و‬‫الف‬ ‫لتشمل‬ ‫أيضا‬ ‫ربتاج‬ •MsgBox “Is the printer on?”, , “Caution!” ‫اسم‬ ‫بواسطة‬ ‫محدد‬ ‫المعايير‬ •‫باالسم‬ ‫ادلعايَت‬ ‫ربديد‬ ‫عند‬ ‫ادلطلوبة‬ ‫اخلاصة‬ ‫ات‬‫ر‬‫االعتبا‬ ‫وبعض‬ ‫ايا‬‫ز‬‫ادل‬ ‫بعض‬ ‫ىناك‬: ❑‫اضافية‬ ‫اصل‬‫و‬‫ف‬ ‫تشمل‬ ‫أن‬ ‫إىل‬ ‫حباجة‬ ‫ولست‬ ‫أمر‬ ‫أي‬ ‫يف‬ ‫إدخاذلا‬ ‫ؽلكنك‬ ❑‫استخدام‬ ‫إىل‬ ‫ربتاج‬= :‫من‬ ‫بدال‬=‫القيمة‬‫و‬ ‫ادلعلمة‬ ‫اسم‬ ‫بُت‬ MsgBox Title:=”Caution!”, Prompt:=”Is the printer on?” ‫قيم‬MsgBox DescriptionValueConstant OK1vbOK Cancel2vbCancel Abort3vbAbort Retry4vbRetry Ignore5vbIgnore Yes6vbYes No7vbNo ‫على‬ ‫مثال‬ ‫هو‬ ‫هنا‬MsgBox‫نعم‬ ‫فوق‬ ‫بالنقر‬ ‫المستخدم‬ ‫ٌقوم‬ ‫حتى‬ ‫حلقة‬ ً‫ف‬ ‫السطح‬ ‫على‬ ‫تطفو‬ ‫تستمر‬ ‫سوؾ‬ ً‫الت‬: Sub humor() Do If MsgBox("Do you like the Excel-Pratique site ?", vbYesNo, "Survey") = vbYes Then Exit Do ' => ٗ‫االخبث‬ ٌٛ yes ٗ‫اٌسٍم‬ ٝٙٔ‫ا‬ End If Loop While 1 = 1 ' => Infinite loop ٗ١‫ٔٙبئ‬ ‫ال‬ ٗ‫زٍم‬ MsgBox ";-)" End Sub
  • 19. 19 DescriptionValueConstant 0vbOKOnly 1vbOKCancel 2vbAbortRetryIgnore 3vbYesNoCancel 4vbYesNo 5vbRetryCancel 16vbCritical 32vbQuestion 48vbExclamation 64vbInformation First button is default0vbDefaultButton1 Second button is default256vbDefaultButton2 Third button is default512vbDefaultButton3 Fourth button is default768vbDefaultButton4 ‫بع‬‫ر‬‫دل‬ ‫ادلستخدم‬ ‫يستجيب‬ ‫أن‬ ‫غلب‬ ‫مشروط؛‬ ‫تطبيق‬ ‫احلايل‬ ‫التطبيق‬ ‫يف‬ ‫العمل‬ ‫متابعة‬ ‫قبل‬ ‫الرسالة‬ 0vbApplicationModal ‫حىت‬ ‫التطبيقات‬ ‫كافة‬‫تعطيل‬ ‫يتم‬ ‫مشروط؛‬ ‫نظام‬ ‫الرسالة‬ ‫بع‬‫ر‬‫دل‬ ‫ادلستخدم‬ ‫يستجيب‬ 4096vbSystemModal ‫الرسالة‬ ‫بع‬‫ر‬‫م‬ ‫يف‬ ‫تعليمات‬ ‫زر‬ ‫يضيف‬16384vbMsgBoxHelpButton ‫أمامي‬ ‫كإطار‬‫الرسالة‬ ‫بع‬‫ر‬‫م‬ ‫إطار‬ ‫ػلدد‬65536vbMsgBoxSet Foreground ‫اليمُت‬ ‫إىل‬ ‫زلاذاة‬ ‫النص‬524288vbMsgBoxRight ‫النص‬ ‫يظهر‬ ‫أن‬ ‫غلب‬ ‫تعُت‬-‫اليسار‬ ‫اىل‬ ‫اليمُت‬ ‫من‬ ‫ية‬‫رب‬‫الع‬‫و‬ ‫بية‬‫ر‬‫الع‬ ‫األنظمة‬ ‫على‬ ‫اءة‬‫ر‬‫الق‬)‫يب‬‫ر‬‫تع‬( 1048576vbMsgBoxRtlReading
  • 20. 20 ‫قيم‬16‫إىل‬64‫ويعطي‬ ‫تظهر؛‬ ‫اليت‬ ‫بالرموز‬ ‫التحكم‬32‫استفهام‬ ‫عالمة‬ ‫أيقونة‬.‫القيمة‬ ‫يد‬‫ر‬‫ت‬ ‫كنت‬‫إذا‬4‫وقيمة‬32 MsgBox Prompt:=”Delete this record?”, Buttons:=36 ‫او‬ MsgBox Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion‫سوف‬ ‫صبلة‬ ‫بناء‬ ‫يف‬ ‫خطأ‬ ‫على‬ ‫ربصل‬‫اذا‬: Answer = MsgBox Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion‫مع‬ ‫ادلشكلة‬ ‫الدالة‬ ‫وسيطات‬ ‫حول‬ ‫اس‬‫و‬‫أق‬ ‫ال‬ ‫ىناك‬ ‫أن‬ ‫الربرلية‬ ‫التعليمات‬ ‫من‬ ‫السابق‬ ‫السطر‬. ‫التايل‬ ‫النحو‬ ‫على‬ ‫يكون‬ ‫أن‬ ‫وينبغي‬: Answer = MsgBox (Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion) ‫الرسالو‬ ‫كتابو‬‫على‬ ‫كيز‬‫الًت‬ ‫السابق‬ ‫ح‬‫الطر‬ ‫ىف‬ ‫يالحظ‬‫اد‬‫ر‬‫ادل‬ ‫الشى‬ ‫اى‬ ‫االسم‬ ‫باستخدام‬ ‫ادخالو‬)‫ان‬‫و‬‫العن‬ ، ‫ار‬‫ر‬‫االز‬ ، ‫االسم‬….( ‫يكتب‬ ‫فكان‬Prompt:=”Delete this record?” ‫كز‬‫ادلر‬ ‫اسطو‬‫و‬‫ب‬ ‫الكتابو‬ ‫عن‬ ‫ماذا‬ ‫ولكن‬‫؟؟؟‬ ‫يلى‬ ‫كما‬‫الرسالو‬ ‫فًتتيب‬ ‫الًتتيب‬ ‫اسطو‬‫و‬‫ب‬ ‫اى‬ ‫كز‬‫ادلر‬ ‫اسطو‬‫و‬‫ب‬ MsgBox([TEXT ‫,]إٌض‬ [BUTTONS ‫,]االصساس‬ [TITLE ْ‫)]اٌؼٕٛا‬ ‫التاىل‬ ‫النحو‬ ‫على‬ ‫الرسالو‬ ‫تكتب‬ MsgBox("Text", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Title")
  • 21. 21 ‫النتيج‬‫ه‬ ‫اخر‬ ‫موضوع‬ ‫اىل‬ ‫التطرق‬ ‫وقبل‬ ‫لكن‬‫و‬...‫الرسالو؟؟؟‬ ‫ىف‬ ‫ار‬‫ر‬‫االز‬ ‫ىذه‬ ‫كل‬‫كتابو‬‫ؽلكنٌت‬ ‫ىل‬ ‫ال‬ ‫ال‬ ‫فمجموعو‬BUTTONS‫من‬ ‫القيمو‬ ‫صاحبو‬1‫اىل‬5‫اى‬ ‫الرسالو‬ ‫ىف‬ ‫ستظهر‬ ‫الًت‬ ‫ار‬‫ر‬‫االز‬ ‫سبثل‬yes no cancel…‫اخل‬ ‫وزبتار‬ ‫يد‬‫ر‬‫ت‬ ‫ما‬ ‫حسب‬ ‫وعلى‬BUTTON‫منها‬ ‫فقط‬ ‫احد‬‫و‬ ‫بينما‬BUTTONS‫القيم‬ ‫صاحبو‬)16 ,32,48,64(‫خطا‬ ‫ام‬ ‫استفهام‬ ‫ام‬ ‫تعجب‬ ‫ىى‬ ‫ىل‬ ‫الرسالو‬ ‫نوع‬ ‫سبثل‬..‫ؽلكنك‬‫و‬ ‫اخل‬ ‫اما‬ ‫فقط‬ ‫احدعلا‬ ‫اختيار‬ ‫بينما‬BUTTONS‫القيم‬ ‫صاحبو‬)0,256,512,768(‫من‬ ‫ار‬‫ر‬‫االز‬ ‫اى‬ ‫تعٌت‬ ‫فهى‬yes no cancel‫ان‬ ‫يدىا‬‫ر‬‫ت‬ ‫للمستخدم‬ ‫مضيئو‬ ‫اى‬ ‫اضيو‬‫ًت‬‫االف‬ ‫تكون‬ ‫االتى‬ ‫مالحظو‬ ‫مع‬: 1-‫اضيو‬‫ًت‬‫االف‬ ‫ار‬‫ر‬‫االز‬ ‫فيظهر‬ ‫ار‬‫ر‬‫االز‬ ‫تلك‬ ‫من‬ ‫اى‬ ‫اختيار‬ ‫عدم‬ ‫ؽلكنك‬)(ok 2-‫امى‬‫ز‬‫ال‬ ‫ليس‬‫و‬ ‫اختيارى‬ ‫الرسالو‬ ‫ىف‬ ‫وجودىا‬ ‫ان‬ ‫حيث‬ ‫ار‬‫ر‬‫االز‬ ‫تلك‬ ‫من‬ ‫فقط‬ ‫يناسبك‬ ‫ما‬ ‫اختيار‬ ‫ؽلكنك‬ 3-‫عالمو‬ ‫الرسالو‬ ‫ىف‬ ‫االخر‬‫و‬ ‫زر‬ ‫كل‬‫بُت‬ ‫يفصل‬+ 4-‫باالعلى‬ ‫للرسالو‬ ‫يو‬‫و‬‫مسا‬ ‫وىى‬ ‫يلى‬ ‫كما‬‫الوصف‬ ‫او‬ ‫االسم‬ ‫ليس‬‫و‬ ‫بالقيمو‬ ‫الرسالو‬ ‫عن‬ ‫التعبَت‬ ‫يكون‬ ‫ان‬ ‫ؽلكن‬ MsgBox("Text", 3 + 48 + 256, "Title")
  • 22. 22 ‫الحظ‬ ‫ا‬‫َت‬‫اخ‬‫و‬ ‫استخدمت‬ ‫اذا‬‫االول‬ ‫اثنان‬ ‫عددىم‬ ‫ار‬‫ر‬‫از‬ ‫لديك‬ ‫انت‬yes‫الثاىن‬‫و‬cancel‫لذلك‬ ‫جلعل‬yes‫طلتار‬ ‫اضى‬‫ًت‬‫اف‬vbDefaultButton1‫جلعل‬ ‫بينما‬cancel‫نكتب‬ ‫اضى‬‫ًت‬‫اف‬vbDefaultButton2‫اذا‬ ‫بادلثل‬‫و‬ ‫ا‬ ‫ار‬‫ر‬‫از‬ ‫ثالثو‬ ‫اخًتت‬......... ‫بُت‬ ‫من‬ ‫االختيار‬ ‫ؽلكنك‬
  • 23. 23
  • 24. 24 Selections (sheets and cells) ‫إرلََة‬ ‫حيسد‬ ‫إذلي‬ ‫ماهصو‬ ‫وشاء‬‫ابؤ‬ ‫أ‬‫أ‬‫هحس‬ ‫سوف‬‫إًىت‬‫حتسًس‬ ‫ًس‬‫ص‬‫ى‬‫ُا‬ . ‫منعَة‬ ‫وحسة‬ ‫ضافة‬‫ؤ‬‫إ‬‫و‬ ‫إحملصر‬ ‫إفذح‬ ً‫ال‬‫و‬‫أ‬‫أ‬-: ‫إنخة‬ ،‫منعَة‬ٍ‫إ‬ ‫إًوحسة‬ ‫يف‬" sub selection "‫ؿىل‬ ‫إضلط‬‫و‬Enter. ‫تالحظ‬‫أن‬Excel‫قام‬‫تعبئتها‬ً‫ا‬‫تلقائي‬‫يف‬‫هناية‬‫ىذا‬‫اء‬‫ر‬‫اإلج‬‫اجلديد‬: Sub selection() End Sub ‫إملاهصو‬ ‫ُشإ‬ ‫تط‬‫ص‬‫ح‬ ‫سوف‬ ‫إًيت‬ ‫إًطَلة‬ ‫زر‬ ‫ؤوشاء‬‫إ‬ ‫ن‬‫آ‬‫ل‬‫إ‬)‫ن‬‫آ‬‫ل‬‫إ‬ ‫حىت‬ ‫فارغ‬ َ‫ه‬‫أ‬‫أ‬)
  • 25. 25 ‫إًىود‬ ‫ُشإ‬ ‫مؽ‬ ‫تم‬ ‫إرلاص‬ ‫ملاهصو‬‫إ‬ ‫ؤنٌلل‬‫إ‬-: Sub selection() 'Select cell A8 Range("A8").Select End Sub ‫إرلََة‬ ‫حتسًس‬ ‫مت‬ ‫ن‬‫أ‬‫أ‬ ‫حصون‬ ‫وسوف‬ ،‫تم‬ ‫إرلاضة‬ ‫إًطَلة‬ ‫زر‬ ‫ؿىل‬ ‫ابًضلط‬ ‫إملاهصو‬ ‫ُشإ‬ ‫إدذحار‬ ‫ميىٌم‬A8‫ن‬‫آ‬‫ل‬‫إ‬. ‫خيخار‬ ‫حبَر‬ ‫إملاهصو‬ ‫حنصر‬ ‫سوف‬ ‫ن‬‫آ‬‫ل‬‫إ‬ ‫وحنن‬A8‫هَة‬‫ا‬‫إًث‬ ‫إًـمي‬ ‫وركة‬ ‫يف‬: Sub selection() 'Activating of Sheet 2 Sheets("Sheet2").Activate 'Selecting of Cell A8 Range("A8").Select End Sub ‫وركة‬ ‫ًًشط‬ ‫ن‬‫آ‬‫ل‬‫إ‬ ‫َي‬‫ؤهس‬‫إ‬2‫حيسد‬ ‫مث‬A8 ‫مالحؼة‬:‫خـََلات‬ً‫إ‬(‫درض‬‫أ‬‫ل‬‫إ‬ ‫ٌَون‬‫اب‬ ‫ًيص‬‫إ‬)‫حصَح‬ ‫ثشلك‬ ‫إدلورة‬ ٍ‫ُش‬ ‫يف‬ ‫ملاهصو‬‫إ‬ ‫وحسإت‬ ‫فِم‬ ‫ؿىل‬ ‫جساؿسك‬. ‫حتسًس‬‫ذالاي‬‫خمخَفة‬ Sub selection() 'Selecting A8 and C5 Range("A8, C5").Select End Sub ‫حتسًس‬‫هعاق‬‫من‬‫إرلالاي‬ Sub selection() 'Selecting cells A1 ٝ‫زز‬ A8 Range("A1:A8").Select End Sub ‫إمسِا‬ ‫ثلَري‬ ‫مت‬ ‫إًيت‬ ‫إرلالاي‬ ‫من‬ ‫ٍلوؿة‬ ‫حتسًس‬ Sub selection() 'Selecting cells from the "my_range" range Range("my_range").Select End Sub
  • 26. 26 ‫اختار‬‫و‬ ‫ؽلُت‬ ‫كلك‬‫او‬ ‫ىنا‬ ‫االسم‬ ‫ادخل‬ ‫تغيَت‬ ‫سم‬ ‫اخلاليا‬ ‫بتحديد‬ ‫االسم‬ ‫تغيَت‬ ‫يتم‬ ‫ىكذا‬ ‫ىنا‬ ‫امسها‬
  • 27. 27 ‫العمود‬ ‫قم‬‫ر‬‫و‬ ‫الصف‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫اخللية‬ ‫اختيار‬ Sub selection() ‫اٌظف‬ ٝ‫ف‬ ٗ١ٍ‫اٌخ‬ ‫رسذ٠ذ‬8‫ٚاٌؼّٛد‬1 Cells(8, 1).Select End Sub ‫الزظ‬ Cells([row] [,column]) 'Examples of the Cells property Sub CellsExample() Cells.Clear 'clears active selection Cells(1).Value = "This is A1 - row 1" Cells(, 1).Value = "This is A1 - col 1" Cells(1, 1).Value = "This is A1 - explicit" Cells(3, 3).Value = "This is C3" Cells(5, 3).Font.Bold = True End Sub ‫دٌنامٌكٌة‬ ‫أكثر‬ ‫لتحدٌدات‬ ‫تسمح‬ ‫الخالٌا‬ ‫تحدٌد‬ ً‫ف‬ ‫طرٌقة‬. ‫مثال‬ ‫هو‬ ‫هنا‬ Sub selection() ' ‫الصؾ‬ ‫فى‬ ‫خلٌة‬ ‫ل‬ ً‫عشوائ‬ ‫تحدٌد‬1‫إلى‬10‫والعمود‬1 Cells(Int(Rnd * 10) + 1, 1).Select 'Translation : 'Cells([random_number_between_1_and_10], 1).Select End Sub Moving a selection ‫حذشٚك‬‫انخذذٚذ‬ Sub selection() '‫رسذ٠ذ‬‫خٍ١خ‬(‫اٌخٍ١خ‬‫إٌشـخ‬‫زبٌ١ب‬) ActiveCell.Offset(2, 1).Select End Sub ‫يك‬‫ر‬‫رب‬‫بع‬‫ر‬‫م‬‫التحديد‬‫الصفوف‬‫اثنُت‬‫إىل‬‫أسفل‬‫وعمود‬‫احد‬‫و‬‫إىل‬ ‫اليمُت‬: ‫رشح‬ ‫سُمت‬Offset‫ىف‬ ً‫ا‬‫الحل‬ ‫خفطَي‬ً‫اب‬ ‫إًىذاب‬ ‫ُشإ‬
  • 28. 28 ‫ربديد‬‫الصفوف‬ ‫فمن‬‫ادلمكن‬‫لتحديد‬‫صفوف‬‫استخدام‬‫امر‬‫و‬‫األ‬Range or Rows Sub selection() 'Selecting rows 2 to 6 Range("2:6").Select End Sub ‫او‬ Sub selection() 'Selecting rows 2 to 6 Rows("2:6").Select End Sub ‫األعمدة‬ ‫ربديد‬ ‫كما‬‫ىو‬‫احلال‬‫مع‬،‫الصفوف‬‫من‬‫ادلمكن‬‫لتحديد‬‫أعمدة‬‫بأكملها‬‫استخدام‬‫امر‬‫و‬‫األ‬Range or Columns Sub selection() 'Selecting columns B to G Range("B:G").Select End Sub ‫او‬ Sub selection() 'Selecting columns B to G Columns("B:G").Select End Sub
  • 29. 29 Properties (sheets and cells) ‫يف‬‫ىذا‬،‫ين‬‫ر‬‫التم‬‫سوف‬‫نكتب‬‫تعليمات‬VBA‫الربرلية‬‫اليت‬‫تقوم‬‫بتعديل‬‫احملتوى‬‫وظهور‬‫اخلاليا‬‫اق‬‫ر‬‫أو‬‫و‬‫العمل‬. ً‫ال‬‫و‬‫أ‬‫افتح‬،‫احملرر‬‫إضافة‬‫وحدة‬‫ظلطية‬‫نسخ‬‫و‬‫ادلاكرو‬‫أدناه‬،‫فيو‬‫بطو‬‫ر‬‫و‬‫بزر‬‫صيغة‬ Sub properties() 'Incomplete Macro Range ("A8") End Sub ‫أننا‬‫يد‬‫ر‬‫ن‬‫لتعديل‬‫اخللية‬A8‫يف‬‫بداية‬‫ىذا‬‫ادلاكرو‬. ‫لعرض‬‫قائمة‬‫األشياء‬‫ادلمكنة‬‫اليت‬‫ؽلكن‬‫أن‬‫تكون‬‫نة‬‫ًت‬‫مق‬‫بكائن‬،‫النطاق‬‫إضافة‬‫فًتة‬‫ما‬‫بعد‬Range("A8") ‫سيتم‬‫اآلن‬‫عرض‬‫دلختلف‬‫االحتماالت‬... ‫يف‬‫ىذا‬‫ادلثال‬،‫األول‬‫انقر‬‫على‬"Value""،‫ومن‬‫مث‬‫على‬‫مفتاح‬Tab‫للتحقق‬‫من‬‫صحة‬‫اختيارك‬ Sub properties() 'Incomplete Macro Range("A8").Value End Sub ‫يف‬‫ىذه‬،‫احلالة‬‫اخلاصية‬value،‫سبثل‬‫يات‬‫و‬‫زلت‬‫اخللية‬.‫القيمو‬ ‫تعيُت‬ ‫من‬ ‫البد‬ ‫لذلك‬‫و‬ ‫سوف‬‫نعُت‬‫القيمة‬48‫إىل‬‫اخللية‬A8: Sub properties() 'A8 = 48 Range("A8").Value = 48 'Translation : 'The value of cell A8 is equal to 48 End Sub ‫مث‬‫أننا‬‫سوف‬‫نص‬ ‫نعُت‬Sample text‫إىل‬‫اخللية‬A8)‫ىام‬:‫غلب‬‫أن‬‫يكون‬‫النص‬‫داخل‬:(""
  • 30. 30 Sub properties() 'A8 = Sample text Range("A8").Value = "Sample text" End Sub ‫اخلليو‬ ‫قيمو‬ ‫تعديل‬ ‫يتم‬ ‫سوف‬ ‫فانو‬ ‫الزر‬ ‫على‬ ‫ضغطت‬ ‫اذا‬A8‫قو‬‫ر‬‫بالو‬ ‫الزر‬ ‫كان‬‫اذا‬‫و‬ ‫االوىل‬ ‫قو‬‫ر‬‫يالو‬ ‫الزر‬ ‫كان‬‫اذا‬ ‫االوىل‬ ‫الورق‬ ‫ىف‬ ‫اخلليو‬ ‫بتعديل‬ ‫يقوم‬ ‫سوف‬ ‫الثانيو‬A8‫استخدم‬ ‫التنفيذ‬ ‫زر‬ ‫مكان‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ‫معينو‬ ‫قو‬‫ر‬‫و‬ ‫ىف‬ ‫خليو‬ ‫قيمو‬ ‫تغيَت‬ ‫اردت‬ ‫اذا‬ ‫اما‬ Sheets("Name_of_the_sheet") or Sheets(Number_of_the_sheet). ‫عليها‬ ‫التعديل‬ ‫احداث‬ ‫اد‬‫ر‬‫ادل‬ ‫الصفحو‬ ‫لتحديد‬ ‫لذلك‬‫و‬ Sub properties() 'A8 on sheet 2 = Sample text Sheets("Sheet2").Range("A8").Value = "Sample text" 'Or : 'Sheets(2).Range("A8").Value = "Sample text" End Sub ‫ذا‬‫أردنا‬‫تعديل‬‫اخللية‬A8‫على‬‫قة‬‫ر‬‫الو‬2‫من‬‫مصنف‬‫آخر‬‫مفتوح‬ Workbooks("Name_of_the_file"). Sub properties() 'A8 on sheet 2 of workbork 2 = Sample text Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A8").Value = "Sample text" End Sub ‫على‬‫الرغم‬‫من‬‫أننا‬‫استخدام‬‫القيمة‬Value‫يف‬‫ىذه‬،‫األمثلة‬‫ال‬‫ربتاج‬ً‫حقا‬،‫الستخدامها‬‫ألنو‬‫مل‬ ‫إذا‬‫يتم‬‫ربديد‬‫أي‬‫شيء‬ ،‫آخر‬‫ستكون‬‫قيمة‬‫اخلليةا‬. ‫على‬‫سبيل‬،‫ادلثال‬‫سيكون‬‫ىذين‬‫اخلطُت‬‫نفس‬‫التأثَت‬: Range("A8").Value = 48 Range("A8") = 48 ‫االتى‬ ‫الحظ‬….‫معينو‬ ‫صفحو‬ ‫داخل‬ ‫خليو‬ ‫بقيمو‬ ‫يف‬‫ر‬‫التع‬ Worksheets("sheet….‫الصفحو‬ ‫قم‬‫ر‬ .").cells(‫الصف‬ ‫قم‬‫ر‬,‫العمود‬ ‫قم‬‫ر‬ ).value
  • 31. 31 ‫مسح‬‫يات‬‫و‬‫زلت‬‫اخللية‬ Sub properties() 'Erase the contents of column A Range("A:A").ClearContents End Sub ‫تنسيق‬‫النص‬ ‫عندما‬‫تقوم‬‫بفتح‬Font.،‫سوف‬‫تظهر‬‫القائمة‬‫اخلصائص‬‫اليت‬‫ؽلكن‬‫تطبيقها‬‫على‬‫تنسيق‬‫النص‬: ‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫إًيص‬ ‫جحم‬ ‫ثلَري‬ Sub properties() 'Edit the size of text in cells A1 through A8 Range("A1:A8").Font.Size = 18 End Sub ‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫حـي‬‫إًيص‬ً‫ا‬‫كامل‬ Sub properties() 'Make cells A1 through A8 bold Range("A1:A8").Font.Bold = True End Sub Bold = True ‫تعٌت‬‫غامق‬ ‫خبط‬ ‫االحرف‬ ‫تظهر‬ ‫سوف‬ = Yes.
  • 32. 32 ‫الة‬‫ز‬‫إل‬‫التنسيق‬"‫غامق‬"‫من‬،‫النص‬‫كل‬‫ما‬‫عليك‬‫فعلو‬‫استبدال‬"‫نعم‬"‫مع‬"‫ال‬"،‫أو‬‫بعبارة‬،‫أخرى‬"true"‫مع‬"False:" Sub properties() 'Remove "bold" formatting from cells A1 through A8 Range("A1:A8").Font.Bold = False End Sub Formatting : italicize text Sub properties() 'Italicize cells A1 through A8 Range("A1:A8").Font.Italic = True End Sub Formatting : underline text Sub properties() 'Underline cells A1 through A8 Range("A1:A8").Font.Underline = True End Sub ‫َق‬‫ًس‬‫ًخ‬‫إ‬:‫ثـَني‬‫إرلط‬ Sub properties() 'Edit font in cells A1 through A8 Range("A1:A8").Font.Name = "Arial" End Sub
  • 33. 33 ‫ضافة‬‫ؤ‬‫إ‬‫إذلسود‬ Sub properties() 'Add a border to cells A1 to A8 Range("A1:A8").Borders.Value = 1 'Value = 0 => no border End Sub ‫ثلَري‬‫َق‬‫ًس‬‫ث‬‫إرلالاي‬‫إحملسدة‬‫حاًَا‬ Sub properties() 'Add a border to selected cells Selection.Borders.Value = 1 End Sub ‫ثلَري‬‫دطائص‬‫ًوركة‬‫معي‬ Sub properties() 'Hide a worksheet ٗ‫ِزبز‬ ‫غ١ش‬ ‫خؼٍٙب‬ ٚ‫ا‬ ٗ‫اٌٛسل‬ ‫اخفبء‬ Sheets("Sheet3").Visible = 0 'Visible = -1 => cancels the effect End Sub ‫تغيَت‬‫قيمة‬‫خلية‬ً‫استنادا‬‫إىل‬‫خلية‬‫أخرى‬ ‫يف‬‫ىذه‬،‫احلالة‬‫ضلن‬‫يد‬‫ر‬‫ن‬A7‫يأخذ‬‫قيمتو‬‫من‬A1:
  • 34. 34 Sub properties() 'A7 = A1 Range("A7") = Range("A1") 'Or : 'Range("A7").Value = Range("A1").Value End Sub ‫إذا‬‫أردنا‬‫فقط‬‫نسخ‬‫حجم‬‫النص‬‫من‬‫خلية‬،‫أخرى‬ Sub properties() Range("A7").Font.Size = Range("A1").Font.Size End Sub ‫أي‬‫شيء‬‫على‬‫اجلانب‬‫األيسر‬=‫يأخذ‬‫قيمة‬‫ما‬‫ىو‬‫على‬‫اجلانب‬‫األؽلن‬ ‫ال‬‫تنسى‬‫أن‬‫لقد‬‫باستخدام‬ ‫قدمنا‬‫أقلية‬‫ضئيلة‬‫من‬‫التخصيصات‬‫احملتملة‬‫اليت‬‫ؽلكن‬‫القيام‬‫بو‬‫مع‬VBA. ‫إذا‬‫مل‬‫تكن‬‫اخلاصية‬‫اليت‬‫كنت‬‫تبحث‬‫عن‬‫وصف‬‫ذلا‬ ‫بالتفصيل‬‫ىنا،احبث‬‫عنها‬‫يف‬‫قائمة‬‫اخلصائص‬‫يف‬Excel‫أو‬‫يف‬‫ملفات‬ "‫التعليمات‬"‫يف‬Excel. ‫مسجل‬‫ادلاكرو‬‫ؽلكن‬‫أيضا‬‫حفظ‬‫لك‬‫الكثَت‬‫من‬‫الوقت‬‫إذا‬‫كنت‬‫ال‬‫تعرف‬‫اسم‬‫اخلاصية‬.‫إذا‬‫قمت‬‫بتسجيل‬‫اءات‬‫ر‬‫اإلج‬‫اليت‬ ‫ربتاج‬،‫إليها‬‫فإنو‬‫سيكون‬‫من‬‫السهل‬‫إغلاد‬‫اسم‬‫اخلاصية‬‫حبيث‬‫ؽلكنك‬‫بعد‬‫ذلك‬‫استخدامو‬‫يف‬‫ادلاكرو‬‫اخلاص‬‫بك‬. ‫تغيَت‬‫قيمة‬‫خلية‬ً‫استنادا‬‫إىل‬‫القيمة‬‫اخلاصة‬‫بو‬ ‫قٌمة‬ ‫زٌادة‬ ‫سٌتم‬ ،‫نضؽط‬ ‫مرة‬ ‫كل‬ ً‫ف‬A1‫بنسبة‬1: Sub properties() 'A7 = A1 Range("A7") = Range("A1") 'Or : 'Range("A7").Value = Range("A1").Value End Sub
  • 35. 35 With...End With Statement with‫بنية‬ ‫أو‬ ‫احد‬‫و‬ ‫لكائن‬ ‫متكرر‬ ‫بشكل‬ ‫تشَت‬ ‫اليت‬ ‫امر‬‫و‬‫اال‬ ‫من‬ ‫سلسلة‬ ‫ينفذ‬. With Statement End With Definitionterm ‫بُت‬ ‫البيانات‬ ‫من‬ ‫أكثر‬ ‫أو‬ ‫احد‬‫و‬With and End With ‫كائن‬‫اد‬‫ر‬‫أف‬ ‫إىل‬ ‫تشَت‬ statements Sub ChangeFont () Selection.Font.Name = "Times New Roman" Selection.Font.Size = 12 Selection.Font.Bold = True Selection.Font.Italic = True Selection.Font.ColorIndex = 5 End Sub ‫وبإستخدام‬With‫ار‬‫ر‬‫لتك‬ ‫مضطر‬ ‫غَت‬ ‫اصبحت‬Selection.Font Sub ChangeFont () With Selection.Font .Name = "Times New Roman" .Size = 12 .Bold = True .Italic = True .ColorIndex = 5 End With End Sub
  • 36. 36 ‫ىذا‬ً‫ايضا‬ ‫الرمز‬‫غلعل‬‫من‬‫ادلمكن‬‫تعيُت‬‫خصائص‬‫سلتلفة‬‫من‬‫اخللية‬‫النشطة‬: Sub properties() ActiveCell.Borders.Weight = 3 ActiveCell.Font.Bold = True ActiveCell.Font.Size = 18 ActiveCell.Font.Italic = True ActiveCell.Font.Name = "Arial" End Sub ‫يف‬‫ىذه‬،‫احلالة‬‫ؽلكن‬‫استخدام‬with‫لتجنب‬‫ار‬‫ر‬‫االضط‬‫إىل‬‫ار‬‫ر‬‫تك‬ActiveCell. Sub properties() 'Beginning of instructions using command: WITH With ActiveCell .Borders.Weight = 3 .Font.Bold = True .Font.Size = 18 .Font.Italic = True .Font.Name = "Arial" 'End of instructions using command: END WITH End With End Sub ‫ايضا‬ ‫الحظ‬ Sub properties() With ActiveCell .Borders.Weight = 3 With .Font .Bold = True .Size = 18 .Italic = True .Name = "Arial" End With End With End Sub
  • 37. 37 Colors ‫نا‬‫و‬‫دع‬‫نبدأ‬‫بتعيُت‬‫لون‬‫النص‬‫يف‬A1. ‫ؤضافة‬‫إ‬ ‫تـس‬Font.‫ًيدِجة‬‫إ‬ ٍ‫ُش‬ ‫ؿىل‬ ‫حنطي‬ ،: ‫ىناك‬‫يقتُت‬‫ر‬‫ط‬‫سلتلفتُت‬‫ؽلكن‬‫أن‬‫ربدد‬‫اللون‬ :ColorIndex،‫اليت‬‫لديها‬56‫لون‬ ‫اإلطالق‬ ‫على‬ ‫لون‬ ‫أي‬ ‫استخدام‬ ‫الممكن‬ ‫من‬ ‫ٌجعل‬ ‫الذى‬ ‫اللون‬ ‫او‬. ColorIndex ‫لتعيُت‬‫لون‬‫النص‬‫إىل‬‫احد‬‫و‬‫من‬‫ىذه‬56‫لون‬
  • 38. 38 Sub example() 'Text color for A1 : green (Color num. 10) Range("A1").Font.ColorIndex = 10 End Sub ‫ىذا‬‫الكود‬‫سوف‬‫يعطينا‬‫النتيجة‬‫التالية‬: Color ََ‫ذاض‬Color‫الامص‬ ‫خزسإم‬‫ؤس‬‫إ‬ ‫ؾيس‬ ‫مشي‬‫أ‬‫أ‬‫و‬ ‫إوسؽ‬ ََ‫ذاض‬(RGB)‫حِر‬ ‫الامحص‬ ‫وىه‬ ََ‫ئُس‬‫ر‬ ‫إن‬‫و‬ً‫إ‬ َ‫زالز‬ ‫مزج‬ ‫ؾن‬ ٍ‫ؾحار‬ ‫الاًوإن‬ ‫مجَؽ‬((Red‫والادرض‬(Green)‫والازرق‬(Blue)‫ؤذش‬‫اي‬‫و‬ ‫من‬ ‫إًلمي‬ َ‫إًساتل‬ ‫الاًوإن‬ ‫من‬ ‫ًون‬ ‫لك‬0‫إىل‬255 Sub example() 'Text color for A1 : RGB(50, 200, 100) Range("A1").Font.Color = RGB(50, 200, 100) End Sub ‫الاًوإن‬ ‫ضيسوق‬ ‫إىل‬ ‫ابذلُاب‬ ‫ًون‬ ‫الى‬ ‫مللاتهل‬‫إ‬ ‫كام‬‫ر‬‫الا‬ ‫كمي‬ َ‫ف‬‫ص‬‫مـ‬ ‫خعَؽ‬‫جس‬‫و‬(َِ‫إرلَف‬ ‫ًون‬ ‫إو‬ ‫إرلط‬ ‫ًون‬)‫خنخار‬ ‫مث‬ (More Color)ٍ‫إًيافش‬ ‫خنخار‬ ‫ومهنا‬(Custom)ََ‫ذاض‬ ‫الاسفي‬ ‫ىف‬ ‫يجس‬‫وس‬(RGB)‫ٌَون‬ ‫مللاتهل‬‫إ‬ َ‫ًثالز‬‫إ‬ ‫كام‬‫ر‬‫والا‬ ‫إحملسد‬
  • 39. 39 ‫ل‬ ‫إد‬‫و‬‫إه‬ ‫وُشإ‬56ََ‫خباض‬ ‫ًون‬HTML Excel Color Index in Hex #000000 #993300 #333300 #003300 #003366 #000080 #333399 #333333 #800000 #FF6600 #808000 #008000 #008080 #0000FF #666699 #808080 #FF0000 #FF9900 #99CC00 #339966 #33CCCC #3366FF #800080 #969696 #FF00FF #FFCC00 #FFFF00 #00FF00 #00FFFF #00CCFF #993366 #C0C0C0 #FF99CC #FFCC99 #FFFF99 #CCFFCC #CCFFFF #99CCFF #FF99CC #FFFFFF ‫مثال‬ Sub example() 'Text color for A1 : RGB(192, 32, 255) Range("A1").Font.Color = RGB(192, 32, 255) End Sub ‫إضافة‬‫حدود‬‫نة‬‫و‬‫مل‬ ‫إنشاء‬‫ماكرو‬‫يضيف‬‫حدود‬‫إىل‬‫اخللية‬‫النشطة‬‫باستخدام‬ActiveCell. ‫احلدود‬‫سوف‬‫تكون‬‫ثقيلة‬‫األضبر‬‫و‬: Sub example() 'Border weight ActiveCell.Borders.Weight = 4 'Border color : red ActiveCell.Borders.Color = RGB(255, 0, 0) End Sub ‫وتستخدم‬‫ىكذا‬ Range("A1").Font.Color = #FFFFFF
  • 40. 40 ‫لتطبيق‬‫ىذا‬‫التأثَت‬‫على‬‫العديد‬‫من‬‫اخلاليا‬‫يف‬‫وقت‬،‫احد‬‫و‬‫ؽلكن‬‫أن‬‫نستخدم‬‫أمر‬Selection: Sub example() 'Border weight Selection.Borders.Weight = 4 'Border color : red Selection.Borders.Color = RGB(255, 0, 0) End Sub ‫إضافة‬‫لون‬‫اخللفية‬‫للخاليا‬‫احملددة‬ Sub example() 'Add background color to the selected cells Selection.Interior.Color = RGB(174, 240, 194) End Sub ‫اضافة‬‫لون‬‫إىل‬‫عالمة‬‫يب‬‫و‬‫التب‬‫قة‬‫ر‬‫لو‬‫عمل‬ Sub example() 'Add color to the tab for "Sheet1" Sheets("Sheet1").Tab.Color = RGB(255, 0, 0) End Sub ‫استخدام‬ ،‫القياسية‬ ‫ان‬‫و‬‫األل‬ ‫استخدام‬ ‫إىل‬ ‫حباجة‬ ‫كنت‬‫إذا‬VBً‫ال‬‫مث‬ ‫اللون‬ ‫مث‬ vbBlack،vbRed،vbGreen،vbYellow،vbBlue،vbMagenta، vbCyan‫أو‬ ،vbWhite.
  • 41. 41 ‫اخللية‬ ‫غلعل‬ ‫التالية‬ ‫العبارة‬ ،‫ادلثال‬ ‫سبيل‬ ‫على‬A1 ‫األصفر‬: Range(“A1”).Interior.Color = vbYellow ‫ًوإن‬‫الا‬ ‫خسول‬ ‫كل‬ ‫ًـعى‬ ‫وشلهل‬ ‫مودًول‬ ‫ىف‬ َ‫توضـ‬ ‫مق‬ ‫هود‬ ‫ُو‬ ‫وُا‬ ََ‫خباض‬Rgpََ‫وذاض‬HTML Sub colors56() '57 colors, 0 to 56 Dim i As Long Dim str0 As String, str As String Cells(1, 1) = "Interior" Cells(1, 2) = "Font" Cells(1, 3) = "HTML" Cells(1, 4) = "RED" Cells(1, 5) = "GREEN" Cells(1, 6) = "BLUE" Cells(1, 7) = "COLOR" For i = 0 To 56 Cells(i + 2, 1).Interior.ColorIndex = i Cells(i + 2, 2).Font.ColorIndex = i Cells(i + 2, 2).Value = "[Color " & i & "]" str0 = Right("000000" & Hex(Cells(i + 2, 1).Interior.Color), 6) 'Excel shows nibbles in reverse order so make it as RGB str = Right(str0, 2) & Mid(str0, 3, 2) & Left(str0, 2) 'generating 2 columns in the HTML table Cells(i + 2, 3) = "#" & str Cells(i + 2, 4).Formula = "=Hex2dec(""" & Right(str0, 2) & """)" Cells(i + 2, 5).Formula = "=Hex2dec(""" & Mid(str0, 3, 2) & """)" Cells(i + 2, 6).Formula = "=Hex2dec(""" & Left(str0, 2) & """)" Cells(i + 2, 7) = "[Color " & i & "]" Next i End Sub
  • 42. 42 The Line Style of a Border ‫منط‬‫دط‬‫إذلسود‬ The Weight of a Border Range("B18:C18").Borders(xlEdgeBottom).LineStyle = xlContinuous Range("B18:C18").Borders(xlEdgeBottom).Weight = xlThin xlHairline ً‫جدا‬ ‫فيع‬‫ر‬ ‫خط‬ xlThin ‫فيع‬‫ر‬ ‫خط‬ xlMedium ‫متوسط‬ ‫خط‬ xlThick ‫غليظ‬ ‫خط‬ ‫دِح‬‫اٌخال٠ب‬ H15, I15, H16, and I16 Range("H15:I16").MergeCells = True ‫ِسبراح‬‫إٌض‬‫اٌّذِح‬‫ٌٍ١غبس‬ Range("H15:H16").VerticalAlignment = xlCenter ‫إخفبء‬‫خـٛؽ‬‫اٌشجىخ‬ ActiveWindow.DisplayGridlines = False (xlEdgeRight) (xlEdgeLeft) (xlEdgeTop) (xlEdgeBottom)
  • 43. 43
  • 44. 44 Variable Variables: ‫ات‬‫ر‬‫المتغي‬ ‫يقصد‬‫بادلتغَت‬‫مكان‬‫يتم‬‫حجزه‬‫ىف‬‫ذاكرة‬‫احلاسب‬‫يتم‬‫فيو‬‫ين‬‫ز‬‫زب‬‫قيمة‬‫او‬‫رلموعة‬‫من‬‫القيم‬‫لكى‬‫يتم‬ ‫استخدامها‬‫داخل‬‫نامج‬‫رب‬‫ال‬.‫البد‬‫و‬‫من‬‫إعطاء‬‫اسم‬‫لكل‬‫متغَت‬‫حىت‬‫يتسٌت‬‫فيما‬‫بعد‬‫استخدام‬‫ىذا‬‫ادلتغَت‬‫ىف‬ ‫الوصول‬‫اىل‬‫النتائج‬‫ادلطلوب‬‫ربقيقها‬‫من‬‫نامج‬‫رب‬‫ال‬.‫وىناك‬‫شروط‬‫زلددة‬‫غلب‬‫افرىا‬‫و‬‫ت‬‫ىف‬‫اسم‬‫ادلتغَت‬ ‫وإال‬‫مت‬‫فضها‬‫ر‬‫من‬‫قبل‬‫نامج‬‫رب‬‫ال‬ ‫شروط‬‫تسمية‬‫ات‬‫َت‬‫ادلتغ‬: ١–‫غلب‬‫أال‬‫يبدأ‬‫اسم‬‫ادلتغَت‬‫قم‬‫ر‬‫ب‬‫أن‬‫و‬‫يبدأ‬‫حبرف‬. ٢–‫احلروف‬‫الىت‬‫تلى‬‫احلرف‬‫األول‬‫ؽلكن‬‫أن‬‫تكون‬‫حروف‬‫أو‬‫أرقام‬‫أو‬‫االثنُت‬‫معا‬. ٣–‫ال‬‫غلوز‬‫أن‬‫ػلتوى‬‫اسم‬‫ادلتغَت‬‫على‬‫مسافات‬‫أو‬‫نقطة‬‫أو‬‫رموز‬‫خاصة‬‫مثل‬(‫؟‬،*،)،(،/ .........‫إخل‬)‫ولكن‬‫ؽلكن‬‫استخدام‬‫الشرطة‬‫السفلية‬(_). 4–‫غلب‬‫أال‬‫يكون‬‫مستخدما‬‫من‬‫قبل‬. 5-‫أال‬‫يكتب‬‫باللغة‬‫بية‬‫ر‬‫الع‬ 6-‫لغو‬ ‫سبلك‬VBA‫الكلمات‬ ‫ىذه‬ ‫اءات‬‫ر‬‫االج‬ ‫او‬ ‫ات‬‫َت‬‫للمتغ‬ ‫كإمساء‬‫استخدامها‬ ‫ؽلكنك‬ ‫ال‬ ‫الىت‬ ‫احملجوزه‬ ‫الكلمات‬ ‫من‬ ً‫ا‬‫عدد‬ ‫ىى‬-:
  • 45. 45
  • 46. 46 ‫تم‬ ‫إرلاضة‬ ‫جمة‬‫رب‬ً‫إ‬ ‫ًـيارص‬ ‫سٌلء‬‫أ‬‫ك‬ ‫خزسإهما‬‫إس‬ ‫ميىٌم‬ َ‫ه‬‫أ‬‫أ‬ ‫ًـين‬ ‫مما‬ ، ‫حمجوزة‬ ‫كري‬ ‫إًخاًَة‬ ‫َة‬‫ساس‬‫أ‬‫ل‬‫إ‬ ‫إًلكٌلت‬.،‫ذكل‬ ‫ومؽ‬ ‫دعاء‬‫أ‬‫أ‬ ‫ؤىل‬‫إ‬ ‫ثؤدي‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬‫و‬ ،‫إءهتا‬‫ص‬‫ك‬ ‫إًطـة‬ ‫من‬ ‫جمَة‬‫رب‬ً‫إ‬ ‫ًخـَاميت‬‫إ‬ ‫جتـي‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬ ‫هنا‬‫أ‬‫ل‬ ،‫خحسن‬‫مس‬ ‫كري‬ ‫تشكل‬ ‫ًلِام‬‫إ‬ ‫ؿَهيا‬ ‫إًـثور‬ ‫إًطـة‬ ‫من‬ ‫ٍىون‬ ‫ن‬‫أ‬‫أ‬ ‫ميىن‬ ‫ًيت‬‫إ‬ ‫إرلفِة‬.
  • 47. 47 ‫امل‬ ‫يف‬‫ر‬‫تع‬ ‫يتم‬‫اسطو‬‫و‬‫ب‬ ‫تغَت‬, DIM‫مثل‬ ‫الصلة‬ ‫ذات‬ ‫يف‬‫ر‬‫تع‬ ‫ات‬‫ر‬‫عبا‬ ‫أو‬Public. Dim Sales As Double ‫احد‬‫و‬ ‫متغَت‬ ‫من‬ ‫أكثر‬ ‫يف‬‫ر‬‫تع‬ ‫ؽلكنك‬on a Dim: Dim SalesData As Double, Index As Integer, Start Date As Date Dim Col, Row, Sheet As Integer ‫ليكون‬ ‫متغَت‬ ‫كل‬‫يف‬‫ر‬‫يع‬ ‫ىذا‬ ‫أن‬ ‫ادلستخدمُت‬ ‫من‬ ‫العديد‬ ‫يفًتض‬Integer‫صحيحا‬ ‫ليس‬ ‫ىذا‬.Col and Row ‫تكون‬Variant‫نوع‬ ‫تعط‬ ‫مل‬ ‫ألهنا‬.‫اهنم‬ ‫على‬ ‫الثالثو‬ ‫تعرف‬ ‫لكى‬Integer‫اخلط‬ ‫يكون‬ ‫أن‬ ‫غلب‬ ،‫التاىل‬ ‫النحو‬ ‫على‬: Dim Col As Integer, Row As Integer, Sheet As Integer ‫وىناك‬‫أساليب‬‫سلتلفة‬‫لعملية‬‫اإلعالن‬‫وىى‬‫كالتاىل‬: ١–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وإحس‬‫فلط‬‫ىف‬‫لك‬‫سعص‬‫من‬‫سعور‬‫ؤؿالن‬‫ال‬‫إ‬‫مثي‬: Dim a as integer Dim b as single ٢–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫نرث‬‫أ‬‫أ‬‫من‬‫مذلري‬‫ىف‬‫سعص‬‫ؤؿالن‬‫ال‬‫إ‬‫مثي‬: Dim a, b as integer ٣–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وختطَص‬‫مية‬‫ك‬‫هل‬‫ىف‬‫سعص‬‫ؤؿالن‬‫ال‬‫إ‬: Dim C as integer = 7 ٤–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫إت‬‫ري‬‫مذل‬‫ًُست‬‫من‬‫هفس‬‫إًيوع‬‫ؾعاء‬‫ؤ‬‫إ‬‫و‬‫مية‬‫ك‬‫ًِا‬‫ىف‬‫هفس‬‫إًسعص‬ Dim X as integer = 9 , Y as string = "Mr. Khalid" ٥–‫ؤؿالن‬‫ال‬‫إ‬‫ؾن‬‫مذلري‬‫وختطَص‬‫مية‬‫ك‬‫هل‬‫من‬‫انجت‬‫مـادٌك‬‫رايضَة‬‫ىف‬‫هفس‬‫إًسعص‬ Dim X as integer = a + b
  • 48. 48 Object Variables ‫عمل‬ ‫ورقة‬ ‫أو‬ ‫نطاق‬ ‫مثل‬ ،‫بأكملو‬ ‫كائن‬‫ؽلثل‬ ‫متغَت‬. ‫ب‬ ‫يفها‬‫ر‬‫تع‬ ‫ويتم‬ ‫العادية‬ ‫ات‬‫َت‬‫للمتغ‬ ‫شلاثلة‬Dim‫أو‬Public‫ادلثال‬ ‫سبيل‬ ‫على‬ ،: ‫ب‬ ‫يفها‬‫ر‬‫تع‬ ‫ويتم‬ ‫العادية‬ ‫ات‬‫َت‬‫للمتغ‬ ‫شلاثلة‬Dim‫أو‬Public‫ادلثال‬ ‫سبيل‬ ‫على‬ ،: ‫الكائن‬ ‫تعبَت‬ ‫يف‬‫ر‬‫لتع‬object expression‫كائن‬‫متغَت‬ ‫إىل‬object variable،‫الكلمة‬ ‫استخدم‬set. ‫ادلثال‬ ‫سبيل‬ ‫على‬: Set ObjectVariable = ObjectExpression Set MyCell = Worksheets("Sheet1").Range("A1") ‫مثال‬ ‫اخلليو‬ ‫ػلدد‬ ‫سوف‬ ‫التاىل‬ ‫اء‬‫ر‬‫االج‬A1‫ىف‬sheet1‫القيمو‬ ‫اعطاء‬‫و‬100‫التنسيقات‬‫و‬ Bold, Italic and Underline. Sub ObjectVariable () Worksheets ("Sheet1").Range ("A1").Value = 100 Worksheets ("Sheet1").Range ("A1").Font.Bold = True Worksheets ("Sheet1").Range ("A1").Font.Italic = True Worksheets ("Sheet1").Range ("A1").Font.Underline = XlSingle End Sub ‫باستخدام‬Object Variable called mycell Sub ObjectVariable () Dim mycell As Range Set mycell = Worksheets ("Sheet1").Range ("A1") mycell.Value = 100 mycell.Font.Bold = True mycell.Font.Italic = True mycell.Font.Underline = xlSingle End Sub
  • 49. 49 ‫ات‬‫ر‬‫ادلتغ‬ ‫باستخدام‬ ‫انو‬ ‫الحظ‬)mycell(‫ذكر‬ ‫عن‬ ‫االستغناء‬ ‫مت‬)Worksheets ("Sheet1").Range ("A1").Value( ‫حيث‬mycell) =Worksheets ("Sheet1").Range ("A1").Value Set ObjectVariable ‫ملخلري‬‫إ‬ = ObjectExpression ‫إًاكئن‬ Set MyCell = Worksheets("Sheet1").Range("A1") Variables and Data Types ‫ؤوشاءمه‬‫إ‬ ‫وال‬‫أ‬‫أ‬ ‫ؿََم‬ ‫جية‬ ،‫جمَة‬‫رب‬ً‫إ‬ ‫إًخـَاميت‬ ‫يف‬ ‫ًلمي‬‫إ‬ ‫تـظ‬ ‫خزسإم‬‫الس‬.‫ضلرية‬ ‫ٍن‬‫ز‬‫خت‬ ‫مٌاظق‬ ‫من‬ ‫حَوحص‬‫ًمك‬‫إ‬ ‫ذإهصة‬ ‫ًخىون‬ ‫تم‬ ‫إرلاص‬ ‫حَق‬‫ًخع‬‫إ‬ ‫تلمي‬ ‫ًالحذفاظ‬ ‫خزسم‬‫جس‬.‫مٌعلة‬ ‫يف‬ َ‫ًضـ‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ،‫جمَة‬‫رب‬ً‫إ‬ ‫إًخـَاميت‬ ‫يف‬ ‫مية‬‫ك‬ ‫خزسإم‬‫إس‬ ‫ؾيس‬ ‫ٍن‬‫ز‬‫إًخر‬ ‫ًربانمج‬‫إ‬ ‫شلَي‬‫ج‬ ‫إزياء‬ ‫مؤكذا‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ٍ‫إهص‬‫ز‬‫ج‬ ‫ختزن‬ ‫مية‬‫ك‬ ‫ُو‬ ‫ملخلري‬‫إ‬ ،‫حَوحص‬‫ًمك‬‫إ‬ ‫جمة‬‫ص‬‫ج‬ ‫ؿامل‬ ‫يف‬ Declaring a Variable ‫إت‬‫ري‬‫ملخل‬‫إ‬ ‫من‬ ‫إًـسًس‬ ‫خزسإم‬‫إس‬ ‫يف‬ ‫حصقة‬ ‫ن‬‫أ‬‫أ‬ ‫ًوف‬‫أ‬‫ب‬‫مل‬‫إ‬ ‫كري‬ ‫من‬ ‫ًُس‬ َ‫ؤه‬‫ا‬‫ف‬ ، ‫حَق‬‫ًخع‬‫إ‬ ‫يف‬.‫إن‬ ‫ؿََم‬ ‫جية‬ ،‫دصى‬‫أ‬‫أ‬ ‫مصة‬ َ‫خزسإم‬‫إس‬ ‫كدي‬ ‫ملخلري‬‫إ‬ ‫ؾن‬ ‫مئا‬‫إ‬‫د‬ ‫ثـَن‬ ‫ن‬‫أ‬‫أ‬ ‫ملـخاد‬‫إ‬ ‫من‬ ‫جتـي‬.‫ميىٌم‬ ،‫إحس‬‫و‬ ‫ول‬‫أ‬‫أ‬ ‫ؾن‬ ‫ؤؿالن‬‫ال‬‫إ‬ ‫تـس‬ ‫خسًس‬ ‫مذلري‬ ‫ًف‬‫ص‬‫ًخـ‬ ‫إًلكمة‬ ‫خزسإم‬‫وإس‬ ‫إًخايل‬ ‫إًسعص‬ ‫ؤىل‬‫إ‬ ‫إذلُاب‬ ‫تخساظة‬Dim‫خسًس‬ ‫مذلري‬ ‫ؾن‬ ‫ؿالن‬‫ؤ‬‫ال‬ً.‫مثال‬ ‫ُيا‬ Sub Exercise() Dim Something Dim Whatever End Sub Value Assignment ‫فاركة‬ ‫مبساحة‬ ‫الاحذفاظ‬ ‫ًمت‬ ‫ًىن‬‫و‬ ،‫ذلكل‬ ‫ابذلإهصة‬ ‫مساحة‬ ‫حص‬‫و‬َ‫ح‬‫ًمك‬‫إ‬ ‫خيطص‬ ،‫مذلري‬ ‫ًف‬‫ص‬‫تخـ‬ ‫ثلوم‬ ‫ؾيسما‬ َ‫ه‬‫أ‬‫أ‬ ‫ًيا‬‫أ‬‫أ‬‫ر‬.‫ؾن‬ ‫ؤؿالن‬‫ال‬‫إ‬ ‫تـس‬ ‫ذلكل‬ ‫حمفوػة‬ ‫هت‬‫اك‬ ‫إًيت‬ ‫إذلإهصة‬ ‫يف‬ ‫ًسُا‬‫ص‬‫ح‬ ‫إًيت‬ ‫مية‬‫ًل‬‫إ‬ ‫ٍن‬‫ز‬‫خت‬ ‫ميىٌم‬ ،‫إملخلري‬. ‫إملخلري‬ ‫مية‬‫ك‬ ‫ثـَني‬ ‫ميىٌم‬ ،‫ٌَمخلري‬ ‫إحملجوزة‬ ‫إذلإهصة‬ ‫يف‬ ‫مية‬‫ك‬ ‫ٍن‬‫ز‬‫ًخر‬.‫خـَني‬ً‫إ‬ ‫ؿامي‬ ًَََ ،‫إملخلري‬ ‫إمس‬ ‫إنخة‬ ،‫تشكل‬ ‫ٌَلِام‬(=)‫ثَهيا‬ ، ‫ٍهنا‬‫ز‬‫خت‬ ‫ًس‬‫ص‬‫ح‬ ‫إًىت‬ ‫مية‬‫ًل‬‫إ‬.‫ذكل‬ ‫ؿىل‬ ‫مثال‬ ‫ُو‬ ‫ُيا‬: Sub Exercise() Dim Value Value = 9374 End Sub
  • 50. 50 ‫ي‬‫أ‬‫أ‬،‫وكت‬‫وؾيس‬،‫إًرضورة‬‫ميىٌم‬‫ثلَري‬‫مية‬‫ًل‬‫إ‬‫إًيت‬‫حيخفغ‬‫هبا‬‫مذلري‬.‫وُشإ‬‫ُو‬‫إًسخة‬َ‫ه‬‫إ‬ ‫ىف‬‫ٌسمى‬‫مذلري‬(َ‫ه‬‫أ‬‫ل‬‫ميىن‬‫ن‬‫أ‬‫أ‬‫ختخَف‬َ‫ميخ‬‫ك‬ ‫و‬‫أ‬‫أ‬‫ثلَري‬.)‫خلَري‬ً‫مية‬‫ًل‬‫إ‬‫إًيت‬‫حيخفغ‬‫هبا‬،‫مذلري‬‫إًوضول‬‫ؤىل‬‫إ‬‫إملخلري‬‫مصة‬‫دصى‬‫أ‬‫أ‬‫ثـَني‬‫و‬‫مية‬‫ًل‬‫إ‬‫إدلسًسة‬‫إًيت‬‫ًسُا‬‫ص‬‫ح‬. Introduction to Data Types Variable As ‫ىناك‬data type‫استخدامها‬ ‫تنوي‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫من‬ ‫نوع‬ ‫أي‬ ‫احلاسوب‬ ‫زبرب‬.‫مقدار‬ ‫نعرف‬ ‫أن‬ ‫غلب‬ ،‫متغَت‬ ‫استخدام‬ ‫قبل‬ ‫الذاكرة‬ ‫يف‬ ‫ستشغل‬ ‫اليت‬ ‫ادلساحة‬.‫الذاكرة‬ ‫يف‬ ‫ادلساحة‬ ‫من‬ ‫سلتلفة‬ ‫كمية‬‫وتستخدم‬ ‫سلتلفة‬ ‫ات‬‫َت‬‫ادلتغ‬.‫اليت‬ ‫ادلعلومات‬ ‫على‬ ‫ويطلق‬ ‫متغ‬ ‫الحتياجات‬ ‫ادلساحة‬ ‫مقدار‬ ‫ربدد‬‫ر‬data type ‫كتابة‬‫بعد‬ ،‫دلتغَت‬ ‫استخدامها‬ ‫سيتم‬ ‫اليت‬ ‫البيانات‬ ‫نوع‬ ‫لتحديد‬Dim‫الكلمة‬ ‫اكتب‬ ،‫ادلتغَت‬ ‫باسم‬ ‫متبوعة‬AS‫البيانات‬ ‫اع‬‫و‬‫أن‬ ‫أحد‬ ‫يليو‬ Dim VariableName As DataType Integral Numeric Variables Byte ‫من‬ ‫إوح‬‫رت‬‫ث‬ ‫إًيت‬ ‫َـَة‬‫ًعح‬‫إ‬ ‫ؿسإد‬‫أ‬‫ل‬‫إ‬ ‫َحمي‬‫س‬ ‫إذلي‬ ‫مذلري‬ ‫ًف‬‫ص‬‫ًخـ‬0‫ؤىل‬‫إ‬255‫حَاانت‬ً‫إ‬ ‫هوع‬ ‫خزسم‬‫إس‬ ،Byte.‫ُو‬ ‫ُيا‬ ‫ذكل‬ ‫ؿىل‬ ‫مثال‬: Sub Exercise() Dim StudentAge As Byte End Sub ‫ابًت‬ ‫حَاانت‬ً‫إ‬ ‫ًيوع‬ ‫حصف‬ ‫ي‬‫أ‬‫أ‬ ‫ًوخس‬ ‫.ال‬ ‫ضلري‬ ‫موحة‬ ‫ؿسد‬ َ‫ه‬‫أ‬‫أ‬ ‫ثـَني‬ ‫ميىٌم‬ ،‫ملخلري‬‫إ‬ ‫ؾن‬ ‫ًخرصحي‬‫إ‬ ‫تـس‬.‫ذكل‬ ‫ؿىل‬ ‫مثال‬ ‫ُيا‬ : Sub Exercise() Dim Value As Byte Value = 246 End Sub ‫من‬ ‫كي‬‫أ‬‫أ‬ ‫ًـسد‬‫إ‬ ‫دإم‬ ‫ما‬ ‫ؾرشي‬ ‫إًست‬ ‫َق‬‫خًس‬ً‫اب‬ ‫ًصمق‬‫إ‬ ‫خزسإم‬‫إس‬ ‫ًضا‬‫أ‬‫أ‬ ‫ميىٌم‬255 . ‫من‬ ‫ؿىل‬‫أ‬‫أ‬ ‫مية‬‫ك‬ ‫و‬‫أ‬‫أ‬ ‫ساًحة‬ ‫مية‬‫ك‬ ‫ؾعَت‬ ‫إ‬ ‫ؤذإ‬‫إ‬255‫أ‬‫ب‬‫دع‬ ‫ثخَلى‬ ‫سوف‬ ،‫خيفِش‬ً‫إ‬ ‫حماوٌك‬ ‫ؾيس‬ ،
  • 51. 51 ‫ضلري‬ ‫ؿسد‬ ‫ىل‬‫ؤ‬‫إ‬ ‫مية‬‫ك‬ ‫ًي‬‫و‬‫ًخح‬ Number = CByte(Value to Convert to Byte) Integer ‫بُت‬ ‫اوح‬‫ًت‬‫ي‬ ‫عددا‬ ‫سيحمل‬ ‫الذي‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬-32768‫اىل‬32767‫صحيح‬ ‫عدد‬ ‫البيانات‬ ‫نوع‬ ‫استخدم‬. Integer ‫صحيح‬ ‫عدد‬ ‫متغَت‬ ‫إعالن‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬: Sub Exercise() Dim Tracks As Integer End Sub ‫استخدام‬ ‫من‬ ‫بدال‬Integer٪ ‫حرف‬ ‫استخدام‬ ‫ؽلكنك‬ ،.‫التايل‬ ‫النحو‬ ‫على‬ ‫اإلعالن‬ ‫يتم‬ ‫أن‬ ‫ؽلكن‬ ،‫وبالتايل‬: Sub Exercise() Dim Tracks% End Sub ‫إعالن‬ ‫بعد‬‫امل‬‫لذلك‬ ‫ادلطلوبة‬ ‫القيمة‬ ‫تعيُت‬ ‫ؽلكنك‬ ،‫تغَت‬.‫من‬ ‫أقل‬ ‫قيمة‬ ‫بتعيُت‬ ‫قمت‬ ‫إذا‬-32768‫من‬ ‫أعلى‬ ‫أو‬32767‫عندما‬ ، ‫خطأ‬ ‫تتلقى‬ ‫سوف‬ ،‫استخدامها‬ ‫تقرر‬. ‫الدالة‬ ‫استخدام‬ ‫ؽلكنك‬ ،‫طبيعية‬ ‫اعداد‬ ‫إىل‬ ‫ربويلها‬ ‫إىل‬ ‫ربتاج‬ ‫اليت‬ ‫القيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CInt‫التالية‬ ‫الصيغة‬ ‫باستخدام‬: Number = CInt(Value to Convert)
  • 52. 52 Long ‫الصحيحة‬ ‫األعداد‬ ‫من‬ ‫أكرب‬ ‫أعداداه‬ ‫دلتغَت‬ ‫استخدامو‬ ‫ؽلكن‬‫و‬ ‫طويل‬ ‫صحيح‬ ‫عدد‬.‫العدد‬ ‫ىذا‬ ‫مثل‬ ‫سيحمل‬ ‫الذي‬ ‫ادلتغَت‬ ‫يف‬‫ر‬‫لتع‬ ‫البيانات‬ ‫نوع‬ ‫استخدام‬ ،‫الكبَت‬Long‫مثال‬ ‫ىنا‬ Sub Exercise() Dim Population As Long End Sub ‫استخدام‬ ‫من‬ ‫بدال‬Long‫استخدام‬ ‫ؽلكنك‬ ،@ Sub Exercise() Dim Population@ End Sub ‫من‬ ‫باستخدامو‬ ‫ينها‬‫ز‬‫زب‬ ‫ؽلكن‬ ‫الىت‬ ‫القيمو‬– 2,147,483,648‫اىل‬2,147,483,647 ‫استدعى‬ ‫طويال‬ ‫صحيح‬ ‫عدد‬ ‫إىل‬ ‫القيمة‬ ‫لتحويل‬CLng ()‫التالية‬ ‫الصيغة‬ ‫باستخدام‬ Number = CLng(Value to Convert) Decimal Variables Single Precision Sub Exercise() Dim Distance As Single End Sub ‫استخدام‬ ‫ؽلكنك‬ ‫ايضا‬‫و‬!‫منو‬ ‫بدال‬ Sub Exercise() Dim Distance! End Sub
  • 53. 53 A Single variable can hold a number between 1.401298e–45 and 3.402823e38 . for negative values or between 1.401298e–45 and 3.402823e38 for positive values. ‫استخدام‬ ،‫التحويل‬ ‫إىل‬ ‫ربتاج‬ ‫اليت‬ ‫القيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CSng ()‫التالية‬ ‫الصيغة‬ ‫مع‬: Number = CSng(Value to Convert) Double Precision ،‫الدقة‬ ‫من‬ ‫ا‬‫َت‬‫كب‬‫ا‬‫ر‬‫قد‬ ‫يتطلب‬ ‫الذي‬ ‫عشري‬ ‫قم‬‫ر‬ ‫استخدام‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬‫استخدم‬Double Sub Exercise() Dim Distance As Double End Sub ‫استخدام‬ ‫ؽلكنك‬ ‫منو‬ ‫وبدال‬# Sub Exercise() Dim Distance# End Sub Sub Exercise() Dim Distance As Double Distance = 257.84 End Sub A Double variable can hold a number between –1.79769313486231e308 and –4.94065645841247e–324 for negative values or between 4.94065645841247e–324 and 1.79769313486231e308 for positive values. ‫إىل‬ ‫القيمة‬ ‫لتحويل‬double‫استخدم‬ ،CDbl ()‫التالية‬ ‫الصيغة‬ ‫مع‬: Number = CDbl(Value to Convert) ‫اد‬‫و‬‫االك‬ ‫ىف‬ ‫تستخدم‬ ‫ال‬ ‫قام‬‫ر‬‫اال‬ ‫اءه‬‫ر‬‫ق‬ ‫لتسهيل‬ ‫تستخدم‬ ‫الىت‬ ‫اصل‬‫و‬‫الف‬
  • 54. 54 A String ‫طول‬ ‫أي‬ ‫من‬ ‫يقرب‬ ‫وما‬ ،‫نوع‬ ‫أي‬ ‫من‬ ‫النص‬ ‫تشكل‬ ‫اليت‬ ‫األحرف‬ ‫من‬ ‫كيبة‬‫تر‬ ‫أو‬ ،‫حرف‬ ‫سلسلة‬ ‫ىو‬ Sub Exercise() Dim CountryName As String End Sub The type character for the String data type is $ Sub Exercise() Dim CountryName$ End Sub ‫لو‬ ‫قيمة‬ ‫تعيُت‬ ‫ؽلكنك‬ ،‫متغَت‬ ‫إعالن‬ ‫بعد‬ ،‫ذكره‬ ‫سبق‬ ‫كما‬.‫متغَت‬ ‫قيمة‬ ‫تضمُت‬ ‫غلب‬String‫االقتباس‬ ‫عالمات‬ ‫داخل‬.‫ىنا‬ ‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬: Sub Exercise() Dim CountryName As String CountryName = "Brésil" End Sub ‫استخدم‬ ،‫سلسلة‬ ‫إىل‬ ‫ربويلو‬ ‫يد‬‫ر‬‫وت‬ ‫نص‬ ‫ليست‬ ‫قيمة‬ ‫لديك‬ ‫كان‬‫إذا‬CStr()‫التالية‬ ‫بالصيغة‬: CStr(Value To Convert to String)
  • 55. 55 Currency Values ‫البيانات‬ ‫نوع‬ ‫استخدام‬ ‫يتم‬Currency‫النقدية‬ ‫القيم‬ ‫مع‬ ‫للتعامل‬.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬ Sub Exercise() Dim StartingSalary As Currency End Sub ‫استخدام‬ ‫ؽلكنك‬@‫العملة‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬ ‫نوع‬ ‫كحرف‬.‫أنو‬ ‫معلنا‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬: Sub Exercise() Dim StartingSalary@ End Sub ‫العملة‬ ‫رمز‬ ‫تستخدم‬ ‫ال‬ ،‫العملة‬ ‫أساس‬ ‫على‬ ‫متغَت‬ ‫إىل‬ ‫قيمة‬ ‫تعيُت‬ ‫عند‬. Sub Exercise() Dim StartingSalary As Currency StartingSalary = 66500 End Sub can store a value between – 922,337,203,685,477.5808 and 922,337,203,685,477.5807. ‫استخدم‬ ،‫عملة‬ ‫إىل‬ ‫القيمة‬ ‫ربويل‬ ‫يف‬ ‫ترغب‬ ‫كنت‬‫إذا‬CCur ()‫التالية‬ ‫الصيغة‬ ‫مع‬: Number = CCur(Value to Convert) ٍّٗ‫اٌؼ‬ ٍٝ‫ػ‬ ‫ِثبي‬ Sub Variables() Dim NumberOfShirts As Byte Dim PriceOneShirt As Currency Dim TotalPriceShirts As Currency NumberOfShirts = 5 PriceOneShirt = 1.25 TotalPriceShirts = NumberOfShirts * PriceOneShirt ActiveCell.FormulaR1C1 = TotalPriceShirts End Sub
  • 56. 56 A Date ٟ‫ف‬Visual Basic،ٓ‫٠ّى‬َ‫اعزخذا‬‫ٔٛع‬‫ث١بٔبد‬"Date"ٓ٠‫ٌزخض‬‫ل١ّخ‬ ‫ربس٠خ‬.،‫ٌٚزٌه‬ٍٓ‫ٌزؼ‬‫ربس٠خ‬ٚ‫أ‬‫ِزغ١شاد‬‫ٚلذ‬ Sub Exercise() Dim DateOfBirth As Date End Sub ‫ل١ّزخ‬ ٕٗ١١‫رؼ‬ ‫٠ّىٕه‬ ،‫ِزغ١ش‬ ْ‫إػال‬ ‫ثؼذ‬.ٓ١‫ث‬ ‫اٌزبس٠خ‬ ‫ل١ّخ‬ ٓ١ّ‫رؼ‬ ‫٠دت‬ ‫ػالِبد‬ ِٓ ٓ١ٕ‫اث‬#‫ِثبي‬ ‫ٕ٘ب‬ Sub Exercise() Dim DateOfBirth As Date DateOfBirth = #10/8/1988# End Sub ‫إرا‬ْ‫وب‬‫ٌذ٠ه‬‫عٍغٍخ‬ٚ‫أ‬‫رؼج١ش‬‫رش٠ذ‬ٍٗ٠ٛ‫رس‬ٌٝ‫إ‬،‫ربس٠خ‬َ‫اعزخذ‬CDate() ‫ًا‬‫اعزٕبدا‬ٌٝ‫إ‬‫اٌظ١غخ‬‫اٌزبٌ١خ‬: Result = CDate(Value to Convert) A Time ٟ‫ف‬Visual Basic‫اٌٛلد‬ ‫ل١ّح‬ ٓ٠‫ٌرخض‬ َ‫ذغرخذ‬ ْ‫أ‬ ‫أ٠ضا‬ ‫ذاس٠خ‬ ‫اٌث١أاخ‬ ‫ٌٍٕٛع‬ ٓ‫٠ّى‬ ،. Sub Exercise() Dim ShiftTimeIn As Date End Sub ‫ػالِاخ‬ ِٓ ٓ١ٕ‫اش‬ ٓ١‫ت‬ ْٛ‫ذى‬ ، ٌٗ ‫ل١ّح‬ ٓ١١‫ٌرؼ‬ ،‫اٌّرغ١ش‬ ْ‫إػال‬ ‫تؼذ‬#.‫اٌراس٠خ‬ ٓ‫ػ‬ ‫ِخرٍفح‬ ‫لٛاػذ‬ ‫ذرثغ‬ ‫اٌم١ّح‬. To convert a value or an expression to time, use CDate().
  • 57. 57 Any-Type Variables A Variant ُِٕٙ ‫رش٠ذ‬ ٟ‫اٌز‬ ُ١‫اٌم‬ ‫أٔٛاع‬ ‫ِؼشٚفخ‬ ‫اٌّزغ١شاد‬ ٍٓ‫ٔؼ‬ ٓ‫ٚٔس‬ ،ْ٢‫ا‬ ٝ‫زز‬ ‫٠ٛفش‬ ‫رخض٠ٕٙب‬VBA‫ػبٌّ١خ‬ ‫ث١بٔبد‬ ‫ٔٛع‬(‫غبِؼخ‬ ٚ‫أ‬)ٞ‫أل‬ ‫اعزخذاِٙب‬ ‫٠ّىٕه‬ ‫اٌج١بٔبد‬ ‫ٔٛع‬ َ‫اعزخذا‬ ُ‫٠ز‬ ُ١‫اٌم‬ ِٓ ‫ٔٛع‬Variantٌُ ٞ‫اٌز‬ ‫ِزغ١ش‬ ‫ٌزؼش٠ف‬ ‫طشازخ‬ ٗ‫ٔٛػ‬ ‫رسذ٠ذ‬ ُ‫٠ز‬ ‫اٌج١بٔبد‬ ‫ٌٕٛع‬ ٓ‫٠ّى‬Variant‫رش٠ذ٘ب‬ ‫أذ‬ ُ١‫اٌم‬ ِٓ ‫ٔٛع‬ ٜ‫ثب‬ ‫٠سزفظ‬ ْ‫ا‬ Sub Exercise() Dim FullName As Variant Dim EmploymentStatus As Variant Dim HourlySalary As Variant Dim DateHired As Variant FullName = "Patricia Katts" EmploymentStatus = 2 HourlySalary = 35.65 DateHired = #6/22/2004# End Sub A Variable Without a Data Type ‫أِثٍخ‬ ٗ‫ث‬ ‫اٌخبطخ‬ ‫اٌج١بٔبد‬ ‫ٔٛع‬ ‫إػـبء‬ ْٚ‫د‬ ‫ِزغ١ش‬ ‫رؼش٠ف‬ ‫٠ّىٕه‬ Sub Exercise() Dim FullName Dim EmploymentStatus Dim HourlySalary Dim DateHired End Sub ‫اٌخؾ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫أوثش‬ ٚ‫أ‬ ‫ٚازذ‬ ‫ِزغ١ش‬ ‫رؼش٠ف‬ ‫٠ّىٕه‬ ،‫ثبٌـجغ‬. ‫ل١ّزخ‬ ٓ١١‫رؼ‬ ‫٠دت‬ ، ‫ٌٍّزغ١ش‬ ٗ‫اٌّـٍٛث‬ ٗ‫اٌّغبز‬ ٌٝ‫ا‬ ٖ‫ٌالشبس‬.‫أِثٍخ‬ ‫ٕٚ٘ب‬: Sub Exercise() Dim FullName Dim EmploymentStatus Dim HourlySalary Dim DateHired FullName = "Patricia Katts" EmploymentStatus = 2 HourlySalary = 35.65 DateHired = #6/22/2004# End Sub ‫ٚثّدشد‬‫اٌّزغ١ش‬ ْ‫ا‬ًّ‫٠س‬،‫ل١ّخ‬‫٠ّىٕه‬ِٗ‫اعزخذا‬‫وّب‬ٖ‫رشا‬‫ًا‬‫ِٕبعجب‬.
  • 58. 58 The Scope or Lifetime of a Variable Introduction ‫بُت‬ ‫لدينا‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫نعيُت‬ ‫كنا‬،‫اآلن‬ ‫حىت‬Sub Name and the End Sub lines.‫ادلتغَت‬ ‫ىذا‬ ‫مثل‬ ‫إىل‬ ‫يشار‬‫و‬. local variable‫يفو‬‫ر‬‫تع‬ ‫يتم‬ ‫حيث‬ ‫ادلنطقة‬ ‫على‬ ‫يقتصر‬.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىو‬ ‫ىنا‬: Option Explicit Sub Exercise() Dim FirstName As String FirstName = "Patricia" End Sub Global Variables ‫خبسج‬ ٍٓ‫أػ‬ ‫ِزغ١ش‬ ٛ٘. Sub Name and the End Sub linesُ‫٠ز‬ ‫ِب‬ ‫ػبدح‬ ‫اٌٍّف‬ ِٓ ٍٞٛ‫اٌؼ‬ ُ‫اٌمغ‬ ٟ‫ف‬ ‫اٌّزغ١ش‬ ‫٘زا‬ ‫رؼش٠ف‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِثبي‬ ٛ٘ ‫ٕ٘ب‬: Option Explicit Dim LastName As String Sub Exercise() End Sub ‫ثؼذ‬‫رؼش٠ف‬‫ِزغ١ش‬ِّٟٛ‫ػ‬،‫٠ّىٕه‬‫اٌٛطٛي‬ٗ١ٌ‫إ‬ٟ‫ف‬‫إٌّبؿك‬ٜ‫األخش‬‫ٌٍٍّف‬. ‫ٕ٘ب‬‫ِثبي‬ٍٝ‫ػ‬‫رٌه‬: Option Explicit Dim LastName As String Sub Exercise() Dim FirstName As String FirstName = "Patricia" LastName = "Katts" End Sub ‫رؼش٠ف‬ ‫أ٠ؼب‬ ‫٠ّىٕه‬Global Variables ٜ‫أخش‬ ‫ٚزذح‬ ٟ‫ف‬ ِٗ‫اعزخذا‬ ٍٝ‫ػ‬ ‫لبدس‬ ْٛ‫ٌزى‬ ‫ِٕفظٍخ‬ ٗ١‫ّٔـ‬ ‫ٚزذح‬ ٟ‫ف‬.
  • 59. 59 The Access Level of a Global Variable Introduction ‫ػٕذ‬َ‫اعزخذا‬‫ِزغ١ش‬،ِّٟٛ‫ػ‬‫ٌغخ‬Visual Basic‫٠غّر‬‫ٌه‬ُ‫ثبٌزسى‬ٟ‫ف‬ٜٛ‫ِغز‬ ‫اٌٛطٛي‬ٌٗ.ٜٛ‫ِغز‬‫اٌٛطٛي‬‫ٌّزغ١ش‬ٛ٘‫ػٍّ١خ‬ُ‫ٌٍزسى‬ٟ‫ف‬‫اٌٛطٛي‬ٌٝ‫إ‬ُ‫و‬ ‫ِمـغ‬ِٓ‫اٌزؼٍ١ّبد‬‫اٌجشِد١خ‬ٍٝ‫ػ‬‫اٌّزغ١ش‬. Private Variables ٗٔ‫ا‬ ‫ِزغ١ش‬ ٌٝ‫إ‬ ‫ٚ٠شبس‬Private‫إال‬ ٗ١ٌ‫إ‬ ‫اٌٛطٛي‬ ٓ‫٠ّى‬ ‫ال‬ ْ‫وب‬ ‫إرا‬ ٗ‫ٔفغ‬ ‫اٌٍّف‬ ً‫داخ‬ ِٓ ‫االوٛاد‬ ‫ؿش٠ك‬ ٓ‫ػ‬(‫اٌٛزذح‬ ‫ٔفظ‬)ُ‫٠ز‬ ‫ز١ث‬ ِٗ‫اعزخذا‬ ٜ‫اخش‬ ٖ‫ثؼجبس‬ Privateٗ١‫إٌّـ‬ ٖ‫اٌٛزذ‬ ‫ٔفظ‬ ٝ‫ف‬ ٜ‫االخش‬ ‫االخشاءاد‬ ٗ‫ٌىبف‬ ٓ‫٠ّى‬ ٗٔ‫ا‬ ٍٝ‫ػ‬ ‫رذي‬ ‫اٌّزغ١ش‬ ٖ‫٘ز‬ ٌٝ‫ا‬ ‫اٌٛطٛي‬ ‫فمؾ‬ ِٓ ‫ثذال‬ ،‫اٌّزغ١ش‬ ‫٘زا‬ ً‫ِث‬ ٍٓ‫ٌزؼ‬Dimَ‫اعزخذا‬ ،Privateٍٝ‫ػ‬ ‫ِثبي‬ ‫رٌه‬: Option Explicit Private LastName As String Sub Exercise() Dim FirstName As String FirstName = "Patricia" LastName = "Katts" End Sub
  • 60. 60 Public Variables ‫متغَت‬ ‫إىل‬ ‫يشار‬‫ك‬public‫إليو‬ ‫الوصول‬ ‫امكن‬ ‫اذا‬‫ادللف‬ ‫نفس‬ ‫داخل‬ ‫من‬ ‫أما‬ ‫بكود‬)‫النمطية‬ ‫الوحدة‬ ‫نفس‬(‫من‬ ‫أو‬ ‫فيها‬ ‫أعلن‬ ‫اليت‬ ‫النمطية‬ ‫الوحدة‬ ‫ج‬‫خار‬ ‫الربرلية‬ ‫التعليمات‬ ‫من‬ ً‫ال‬‫بد‬ ،‫عمومي‬ ‫متغَت‬ ‫يف‬‫ر‬‫لتع‬Dim‫الكلمة‬ ‫استخدام‬ ‫ؽلكنك‬ ،Public.‫ذلك‬ ‫على‬ ‫مثال‬ ‫ىنا‬: Option Explicit Private LastName As String Public FullName As String Sub Exercise() Dim FirstName As String FirstName = "Patricia" LastName = "Katts" FullName = FirstName & " " & LastName End Sub ‫يف‬‫ر‬‫بتع‬ ‫وتقوم‬ ،‫ظلطية‬ ‫وحدة‬ ‫إنشاء‬ ‫ؽلكنك‬ ‫أنو‬ ‫يعٍت‬ ‫وىذا‬ ‫النمطية‬ ‫الوحدة‬ ‫ج‬‫وخار‬ ‫داخل‬ ‫الربرلية‬ ‫للتعليمات‬ ‫متاح‬ ‫عمومي‬ ‫متغَت‬ ،‫كتذكَت‬ Public Variables ‫آخر‬ ‫ملف‬ ‫يف‬ ‫ادلتغَت‬ ‫ىذا‬ ‫إىل‬ ‫الوصول‬‫و‬ ، ‫فيها‬)‫ظلطية‬ ‫وحدة‬(‫احلاجة‬ ‫تدعو‬ ‫حيث‬. ‫ات‬‫َت‬‫متغ‬private‫الوحدة‬ ‫ج‬‫خار‬ ‫ليس‬ ‫ولكن‬ ‫الوحدة‬ ‫داخل‬ ‫تتوفر‬.‫وزلاولة‬ ‫ظلطية‬ ‫وحدة‬ ‫يف‬ ‫خاص‬ ‫متغَت‬ ‫يف‬‫ر‬‫بتع‬ ‫قمت‬ ‫إذا‬ ‫خطأ‬ ‫رسالة‬ ‫ظهور‬ ،‫أخرى‬ ‫وحدة‬ ‫يف‬ ‫إليو‬ ‫الوصول‬: Module 1: Option Explicit Private FullName As String Module 2: Option Explicit Private LastName As String Private FirstName As String Sub Exercise() FirstName = "Patricia" LastName = "Katts" FullName = FirstName & " " & LastName ActiveCell.FormulaR1C1 = FullName End Sub
  • 61. 61 This would produce: Practical Learning: Closing Microsoft Excel 1. To close Microsoft Visual Basic, on the main menu, click File -> Close and Return to Microsoft Excel
  • 62. 62 ‫بالتاىل‬ ‫إمل‬‫ملـَومات‬‫إ‬ ‫إع‬‫و‬‫ه‬‫أ‬‫أ‬ ‫مجَؽ‬ ‫ٍن‬‫ز‬‫خت‬ ‫ملمىن‬‫إ‬ ‫من‬ ‫جتـي‬ ‫إت‬‫ري‬‫ثل‬. ‫األول‬ ‫المثال‬ ‫وهنا‬: '‫حوار‬ ‫مربع‬ ً‫ف‬ ‫المتؽٌر‬ ‫قٌمة‬ ‫عرض‬ Sub variables () '‫اٌّزغ١ش‬ ‫ة‬ ‫اٌزؼش٠ف‬ Dim my_variable As Integer ‫ِزغ١ش‬ ٌٝ‫إ‬ ‫ل١ّخ‬ ‫إعٕبد‬ my_variable = 12 ‫ل١ّخ‬ ‫ػشع‬my_variableٟ‫ف‬MsgBox MsgBox my_variable End sub ‫ات‬‫َت‬‫ادلتغ‬ ‫من‬ ‫سلتلفة‬ ‫اع‬‫و‬‫أن‬ ‫مع‬ ‫األمثلة‬ ‫بعض‬: '‫مثال‬:‫اكمي‬ ‫ؿسد‬ Dim nbInteger As Integer nbInteger = 12345 '‫مثال‬:‫ؾرشي‬ ‫رمق‬ Dim nbComma As Single nbComma = 123.45
  • 63. 63 '‫مثال‬:‫إًيص‬ Dim varText As String varText = "Excel-Pratique.com" '‫مثال‬:‫اترخي‬ Dim varDate As Date varDate = "06.04.2012" '‫مثال‬:‫ضوإب‬/‫أ‬‫ب‬‫دع‬ Dim varBoolean As Boolean varBoolean = True '‫:مثال‬ ‫إًاكئن‬ (‫معي‬ ‫وركة‬ ‫)اكئن‬ Dim varSheet As Worksheet Set varSheet = Sheets("Sheet2") "‫إًاكئن‬ ‫إت‬‫ري‬‫مذل‬ ‫خزسإم‬‫إس‬ ‫هَفِة‬ ‫ؿىل‬ ‫مثال‬:‫وركة‬ ‫ثفـَي‬ varSheet.Activate
  • 64. 64 ‫عملٌه‬ ‫ممارسة‬ ‫الخلٌة‬ ‫من‬ ‫االخٌر‬ ‫االسم‬ ‫باسترداد‬ ‫ٌقوم‬ ‫ماكرو‬ ،‫خطوة‬ ‫خطوة‬ ،‫اآلن‬ ‫سنضع‬ ‫فإننا‬A2‫الخلٌة‬ ‫من‬ ‫األول‬ ‫االسم‬ ،B2‫من‬ ‫العمر‬ ، ‫الخلٌة‬C2‫حوار‬ ‫مربع‬ ً‫ف‬ ‫وٌعرضها‬ ،. ‫المتؽٌرات‬ ‫بإعالن‬ ‫سنبدأ‬‫بفواصل‬ ‫مفصولة‬ ،‫الخط‬ ‫نفس‬ ‫على‬ ‫كل‬ Sub variables)( ‫بالمتؽٌرات‬ ‫التعرٌؾ‬ Dim last_name As String, first_name As String, age As Integer End Sub ‫الخالٌا‬ ‫باستخدام‬ ‫المتؽٌرات‬ ‫قٌم‬ ‫تحدٌد‬ ‫ذلك‬ ‫بعد‬: Sub variables)( '‫بالمتؽٌرات‬ ‫النعرٌؾ‬ Dim last_name As String, first_name As String, age As Integer '‫المتؽٌرات‬ ‫قٌم‬ (last_name = Cells(2, 1 (first_name = Cells(2, 2 (age = Cells(2, 3 End sub ‫الحوار‬ ‫مربع‬ ‫فى‬ ‫النتائج‬ ‫بعرض‬ ‫سنقوم‬ ‫اخيرا‬ Sub variables() 'Declaring variables ‫ثبٌّزغ١شاد‬ ‫اٌزؼش٠ف‬ Dim last_name As String, first_name As String, age As Integer 'Variable values ‫اٌّزغ١شاد‬ ٌٝ‫ا‬ ُ١‫ل‬ ‫اعٕبد‬ last_name = Cells(2, 1) first_name = Cells(2, 2) age = Cells(2, 3) 'Dialog box MsgBox last_name & " " & first_name & ", " & age & " years old" End Sub
  • 65. 65 ‫اٌخٍ١ح‬ ٟ‫ف‬ ‫ػذد‬ ً‫لث‬ ِٓ ٗ١ٌ‫إ‬ ‫اٌّشاس‬ ‫اٌعذٚي‬ ِٓ ‫طف‬ ‫خالي‬ ِٓ ‫ؼٛاس‬ ‫ِشتغ‬ ٟ‫ف‬ ‫اٌؼشع‬ ٟ٘ ‫اٌراٌ١ح‬ ‫اٌخطٛج‬F5. Sub variables() 'Declaring variables ‫اٌّزغ١شاد‬ ٓ١١‫رؼ‬ Dim last_name As String, first_name As String, age As Integer, row_number As Integer 'Variable values ‫اٌّزغ١شاد‬ ٌٝ‫ا‬ ُ١‫اٌم‬ ‫اعٕبد‬ row_number = Range("F5") + 1 last_name = Cells(row_number, 1) first_name = Cells(row_number, 2) age = Cells(row_number, 3) 'Dialog box MsgBox last_name & " " & first_name & ", " & age & " years old" End Sub ‫إملخلري‬ ‫ايذش‬ ‫سوف‬row _number‫إرلََة‬ ‫مية‬‫ك‬ ‫ن‬‫آ‬‫ل‬‫إ‬F5‫ؤضافة‬‫اب‬ ‫مقيا‬ ‫إذلي‬ ،(1 )‫حنطي‬ ‫ال‬ ‫حبَر‬ ‫هل‬ ‫ٌَجسول‬ ‫ٍن‬‫و‬‫إًـيا‬ ‫ؿىل‬ ‫حيخوي‬ ‫إذلي‬‫و‬ ،‫ول‬‫أ‬‫ل‬‫إ‬ ‫إًطف‬ ‫من‬ ‫حَاانت‬ً‫إ‬ ‫ؿىل‬
  • 66. 66 ‫إدلسول‬ ‫من‬ ‫متون‬‫هم‬ ‫حنن‬ ‫إذلي‬ ‫إًطف‬ ‫ًيا‬ ‫إملاهصو‬ ‫ًـصض‬ ‫ن‬‫آ‬‫ل‬‫إ‬. ‫البرمجٌة‬ ‫التعلٌمات‬ ‫من‬ ‫واحد‬ ‫لسطر‬ ‫اإلجراء‬ ‫هذا‬ ‫من‬ ‫تقلل‬ ‫أن‬ ‫ٌمكن‬ ‫أننا‬ ‫مالحظة‬ ‫ٌرجى‬ ،‫بالمناسبة‬: Sub variables() MsgBox Cells(Range("F5")+1,1) & " " & Cells(Range("F5")+1,2) & ", " & Cells(Range("F5")+1,3) & " years old" End Sub
  • 67. 67
  • 68. 68 Array ،‫منهما‬ ‫لكل‬ ‫احدة‬‫و‬ ‫قيمة‬ ‫ين‬‫ز‬‫بتخ‬ ‫فقط‬ ‫لنا‬ ‫تسمح‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫بينما‬arrays‫ويعملون‬ ‫القيم‬ ‫من‬ ‫العديد‬ ‫ين‬‫ز‬‫زب‬ ‫ادلمكن‬ ‫من‬ ‫ذبعل‬ ‫يقة‬‫ر‬‫الط‬ ‫بنفس‬ ‫يبا‬‫ر‬‫تق‬ ‫بالضبط‬. ‫اإلعالنات‬ ‫من‬ ‫األمثلة‬ ‫بعض‬ ‫وىنا‬: '‫متغَت‬ ‫يف‬‫ر‬‫تع‬‫عينو‬ Dim var1 AS String ‫ظلوذج‬1‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array Dim array1 (4)AS String '‫ظلوذج‬2‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array Dim array2(4, 3) As String ‫ظلوذج‬3‫رلموعو‬ ‫متغَت‬ ‫أبعاد‬ ‫إعالن‬)(array Dim array3(4, 3, 2) As String ‫قم‬‫ر‬ ‫االبعاد‬ ‫ظلوزج‬1 ‫ىناك‬‫عدد‬‫احد‬‫و‬‫فقط‬‫يف‬‫اس‬‫و‬‫األق‬‫يف‬‫ىذا‬،‫اإلعالن‬‫شلا‬‫يعٍت‬‫أنو‬‫رلموعو‬(array)‫احاديو‬‫األبعاد‬.‫ىذا‬‫قم‬‫ر‬‫ال‬‫يقوم‬‫بتعيُت‬ ‫حجم‬‫الصفيف‬.)array1(4‫عبارة‬‫عن‬‫صفيف‬‫فيها‬‫اخلاليا‬‫قمة‬‫ر‬‫م‬‫من‬0‫إىل‬4،‫شلا‬‫يعٍت‬‫أنو‬‫من‬ ‫صفيف‬5‫خاليا‬: '‫إىل‬ ‫القيم‬ ‫تعيُت‬5‫خاليا‬ ‫الحظ‬‫خلٌة‬ ‫أول‬ ‫ترقٌم‬ ‫ٌتم‬0. array1(0) = "Value of cell 0" array1(1) = "Value of cell 1" array1(2) = "Value of cell 2" array1(3) = "Value of cell 3" array1(4) = "Value of cell 4"
  • 69. 69 ،‫آخر‬ ‫مثال‬array‫األبعاد‬ ‫ثنائية‬‫ظلوزج‬2 Constants ‫ابت‬‫و‬‫الث‬ ‫ات‬‫َت‬‫ادلتغ‬ ‫مثل‬,‫ابت‬‫و‬‫الث‬(constants)‫تعديلها‬ ‫ؽلكن‬ ‫ال‬ ‫أهنا‬ ‫ىو‬ ‫الفرق‬ ‫لكن‬‫و‬ ،‫القيم‬ ‫ين‬‫ز‬‫لتخ‬ ‫تستخدم‬ ‫أن‬ ‫ؽلكن‬. ‫عدد‬ ‫مثل‬ ‫ار‬‫ر‬‫التك‬ ‫إىل‬ ‫ار‬‫ر‬‫االضط‬ ‫لتجنب‬ ‫ثابت‬ ‫نضيف‬ ‫أن‬ ‫ؽلكن‬ ،‫ادلثال‬ ‫سبيل‬ ‫على‬6.87236476641: Sub const_example() Cells(1, 1) = Cells(1, 2) * 6.87236476641 Cells(2, 1) = Cells(2, 2) * 6.87236476641 Cells(3, 1) = Cells(3, 2) * 6.87236476641 Cells(4, 1) = Cells(4, 2) * 6.87236476641 Cells(5, 1) = Cells(5, 2) * 6.87236476641 End Sub ‫ذش٠ذ‬ ‫ػٕذِا‬ ‫اٌصاتد‬ ‫ل١ّح‬ ‫ذغ١١ش‬ ‫تىص١ش‬ ًٙ‫االع‬ ِٓ ً‫ٚ٠عؼ‬ ‫ٌٍمشاءج‬ ‫تىص١ش‬ ًٙ‫أع‬ ‫اٌشِض‬ ً‫٠عؼ‬ ‫ٚ٘زا‬: Sub const_example() 'Declaration of a constant + assignment of value ٓ١١‫ٚرؼ‬ ‫اٌثبثذ‬ ٓ١١‫رؼ‬ ّٗ١‫اٌم‬ Const ANNUAL_RATE As Double = 6.87236476641 Cells(1, 1) = Cells(1, 2) * ANNUAL_RATE Cells(2, 1) = Cells(2, 2) * ANNUAL_RATE Cells(3, 1) = Cells(3, 2) * ANNUAL_RATE Cells(4, 1) = Cells(4, 2) * ANNUAL_RATE Cells(5, 1) = Cells(5, 2) * ANNUAL_RATE End Sub array2(0, 0) = "Red cell value" array2(4, 1) = "Green cell value" array2(2, 3) = "Blue cell value"
  • 70. 70 The scope of variables ‫ات‬‫ر‬‫المتغي‬ ‫مدى‬ ‫إذا‬‫مت‬‫يف‬‫ر‬‫تع‬‫متغَت‬‫يف‬‫بداية‬‫اء‬‫ر‬‫اإلج‬)sub(،‫ؽلكن‬‫استخدامو‬‫فقط‬‫ضمن‬‫ىذا‬‫اء‬‫ر‬‫اإلج‬‫نفسو‬.‫اليتم‬‫اإلبقاء‬‫على‬‫قيمة‬‫ا‬‫َت‬‫ادلتغ‬ ‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬. Sub procedure1() Dim var1 As Integer ' => Use of a variable only within a procedure ‫اإلجراء‬ ‫ضمن‬ ‫متؽٌر‬ ‫استخدام‬ End Sub Sub procedure2() ' => var1 cannot be used here ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬ ‫ال‬ End Sub ‫من‬‫أجل‬‫استخدام‬‫متغَت‬‫يف‬‫أي‬‫من‬‫اءات‬‫ر‬‫اإلج‬‫ضمن‬‫وحدة‬،‫ظلطية‬‫كل‬‫ما‬‫عليك‬‫فعلو‬‫أن‬‫تعلن‬‫أنو‬‫يف‬‫بداية‬‫الوحدة‬‫النمطية‬. ‫وإذا‬‫كنت‬‫تقوم‬‫يف‬‫ر‬‫بتع‬‫متغَت‬‫هبذه‬،‫يقة‬‫ر‬‫الط‬‫سيتم‬‫اإلبقاء‬‫على‬‫القيمة‬‫اخلاصة‬‫بو‬‫حىت‬‫يتم‬‫إغالق‬‫ادلصنف‬. Dim var1 As Integer Sub procedure1() ' => var1 can be used here ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬ End Sub Sub procedure2() ' => var1 can also be used here ‫ًا‬‫ا٠ؼب‬ ‫ٕ٘ب‬ ِٗ‫اعزخذا‬ ٓ‫٠ّى‬ End Sub ‫إذا‬‫كنت‬‫يد‬‫ر‬‫ت‬‫أن‬‫تكون‬ً‫ا‬‫ر‬‫قاد‬‫على‬‫استخدام‬‫متغَت‬‫يف‬‫أية‬‫وحدة‬،‫ظلطية‬‫على‬‫نفس‬‫ادلبدأ‬‫كما‬‫يف‬‫ادلثال‬،‫السابق‬ ‫كل‬‫ما‬‫عليك‬‫فعلو‬‫ىو‬‫استبدال‬Dim with Global Global var1 As Integer ‫للحفاظ‬‫على‬‫قيمة‬‫متغَت‬‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬‫الذي‬،‫يظهر‬‫استبدال‬Dim with Static : Sub procedure1() Static var1 As Integer End Sub ‫للحفاظ‬‫على‬‫قيمة‬‫متغَت‬‫بعد‬‫تنفيذ‬‫اء‬‫ر‬‫اإلج‬‫الذي‬،‫يظهر‬add Static before Sub : Static Sub procedure1() Dim var1 As Integer End Sub
  • 71. 71 ‫مثال‬ 'Creation of a variable type'‫إٔشبء‬‫ٔٛع‬‫اٌّزغ١ش‬ Type guests last_name As String first_name As String End Type Sub variables() 'Declaration Dim p1 As guests 'Assigning values to p1'ٓ١١‫رؼ‬ُ١‫ل‬ٌٝ‫إ‬p1 p1.last_name = "Smith" p1.first_name = "John" 'Example of use MsgBox p1.last_name & " " & p1.first_name End Sub
  • 72. 72
  • 73. 73 VBA Operators and Operands The Line Continuation Operator: _ ،‫نهمشاءة‬ ‫أسٓم‬ ّ‫نجعه‬ ،‫انبشيجٛت‬ ‫انخعهًٛاث‬ ٍ‫ي‬ ‫طٕٚهت‬ ‫لطعت‬ ‫نكخابت‬ ‫حخطظ‬ ‫كُج‬ ‫إرا‬ ‫قد‬‫تحتاج‬‫تقسٌم‬ ‫إلى‬‫ذلك‬ً‫ف‬‫خطوط‬‫مختلفة‬.‫للقٌام‬،‫بذلك‬‫ٌمكنك‬‫استخدام‬‫المشؽل‬‫استمرار‬(‫خط‬‫ٌمثله‬‫مسافة‬‫متبوعة‬ ‫بشرطة‬‫سفلٌة‬.) ‫إلنشاء‬‫خط‬،‫استمرارا‬‫ضع‬‫مسافة‬،‫فارؼة‬‫اكتب‬_،‫وتستمر‬‫التعلٌمات‬‫البرمجٌة‬ً‫ف‬‫السطر‬ً‫التال‬.‫هنا‬‫مثال‬‫على‬ ‫ذلك‬: Sub _ Exercise() End Sub The Parentheses: () ‫وتستخدم‬‫األقواس‬ً‫ف‬‫مختلؾ‬‫الظروؾ‬.‫مثال‬ً‫ف‬‫عملٌة‬‫مساعدة‬‫إلنشاء‬‫أقسام‬ً‫ف‬‫عملٌة‬.‫وهذا‬‫ٌحدث‬‫بانتظام‬‫عندما‬‫ٌتم‬‫استخدام‬ ‫عامل‬ ‫من‬ ‫اكثر‬‫تشؽٌل‬ً‫ف‬‫عملٌة‬.‫النظر‬ً‫ف‬‫العملٌة‬‫التالٌة‬: 8 + 3 * 5 ‫إضافح‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ‫ِا‬ ٍٝ‫ػ‬ ‫ذؼرّذ‬ ‫اٌؼٍّ١ح‬ ٖ‫٘ز‬ ‫ٔر١عح‬8ٌٝ‫ا‬3ٟ‫ف‬ ‫إٌاذط‬ ‫ضشب‬ ُ‫ش‬5ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ٚ‫أ‬‫خ‬‫ضشب‬3ٟ‫ف‬5ُ‫ش‬ ‫ي‬ ‫إٌر١عح‬ ‫تئضافح‬ ُ‫ل‬8.‫تاٌرؽذ٠ذ‬ ‫ٌه‬ ‫ذغّػ‬ ‫األلٛاط‬.‫ذض١ف‬ ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ،‫ِصإٌا‬ ٟ‫ف‬8ٌٝ‫ا‬3‫إٌر١عح‬ َ‫ٚاعرخذا‬ ً‫ال‬ٚ‫أ‬ ٝ‫ف‬ ‫ٌضشتٙا‬5‫أورة‬ ‫عٛف‬ ،(8+3* )5.‫٠ٕرط‬ ْ‫أ‬ ٗٔ‫شأ‬ ِٓ ‫٘زا‬55.‫ذضشب‬ ْ‫أ‬ ‫ذش٠ذ‬ ‫وٕد‬ ‫إرا‬ ،ٜ‫أخش‬ ‫ٔاؼ١ح‬ ِٓ3ٟ‫ف‬ 5ٌٝ‫إ‬ ‫إٌر١عح‬ ‫إضافح‬ ُ‫ش‬ ‫أٚال‬8‫أورة‬ ‫عٛف‬ ،8( +3*5).‫٠ٕرط‬ ْ‫أ‬ ٗٔ‫شأ‬ ِٓ ‫٘زا‬23. The Comma , ‫ِعّٛػح‬ ٟ‫ف‬ ‫ِٕفظٍح‬ ‫ٌّرغ١شاخ‬ ‫فاطٍح‬ َ‫اعرخذا‬ ُ‫٠ر‬.‫اٌّرغ١شاخ‬ ‫أعّاء‬ ‫ٌرؽذ٠ذ‬ ‫اعرخذاِٙا‬ ٓ‫٠ّى‬ ‫فاطٍح‬ ،‫اٌّصاي‬ ً١‫عث‬ ٍٝ‫ػ‬ ‫اٌخظ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫ذؼش٠فٙا‬ ُ‫ذ‬ ٟ‫اٌر‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِصاي‬ ٛ٘ ‫ٕ٘ا‬: Sub Exercise() Dim FirstName As String, LastName As String, FullName As String End Sub
  • 74. 74 The Double Quotes: "" ‫الرموز‬‫و‬ ‫األحرف‬ ‫من‬ ‫رلموعة‬ ‫لتحديد‬ ‫تستخدم‬ Sub Exercise() Dim FirstName As String, LastName As String, FullName As String FirstName = "Valère" ActiveCell.FormulaR1C1 = FirstName End Sub The Colon Operator : ‫اٌغطش‬ ٍٝ‫ػ‬ ‫ِٕٙا‬ ً‫و‬ ‫ٔىرة‬ ‫وٕا‬ ، ٖ‫اٌمشاء‬ ٝ‫ف‬ ًٙ‫اع‬ ‫ٌٚعؼٍٙا‬ ‫ِخرٍفح‬ ‫تث١أاخ‬ ‫اإلدالء‬ ٟ‫ف‬ ،‫اٌٛلد‬ ُ‫ِؼظ‬ ٗ‫ت‬ ‫اٌخاص‬.‫أِصٍح‬ ‫ٕٚ٘ا‬: Sub Exercise() Dim FirstName As String, LastName As String FirstName = "Valère" LastName = "Edou" End Sub ‫ٌغح‬Visual Basic‫اٌخظ‬ ‫ٔفظ‬ ٍٝ‫ػ‬ ‫اٌضشٚسج‬ ‫ؼغة‬ ‫اٌث١أاخ‬ ِٓ ‫اٌؼذ٠ذ‬ ‫ٌىراتح‬ ‫ٌه‬ ‫ذغّػ‬.ً‫فظ‬ ‫٠عة‬ ،‫تزٌه‬ َ‫اٌم١ا‬ ‫ػٕذ‬ ٓ١‫تٕمطر‬ ‫اٌث١أاخ‬.‫رٌه‬ ٍٝ‫ػ‬ ‫ِصاي‬ ٛ٘ ‫ٕ٘ا‬: Sub Exercise() Dim FirstName As String, LastName As String FirstName = "Valère" : LastName = "Edou" ActiveCell.FormulaR1C1 = FirstName End Sub
  • 75. 75 String Concatenation: & The & operator is ‫التعبٌرات‬ ‫أو‬ ‫سلسلتٌن‬ ‫إللحاق‬ ‫تستخدم‬.‫لهم‬ ‫وصل‬ ‫كما‬ ‫هذا‬ ‫وٌعتبر‬.‫االسم‬ ‫من‬ ‫لسلسلة‬ ‫بوصل‬ ‫لك‬ ‫تسمح‬ ‫أن‬ ‫ٌمكن‬ ،‫المثال‬ ‫سبٌل‬ ‫على‬ ‫الكامل‬ ‫االسم‬ ‫عنه‬ ‫ٌنتج‬ ‫مما‬ ،‫العائلة‬ ‫واسم‬ ‫األول‬.‫هو‬ ‫سلسلة‬ ‫للعامل‬ ‫العام‬ ‫الجملة‬ ‫بناء‬ Value1 & Value2 ‫من‬ ‫العدٌد‬ ‫استخدام‬ ‫ٌمكنك‬ ،‫الطرٌقة‬ ‫بنفس‬The & operator‫التعبٌرات‬ ‫أو‬ ‫السالسل‬ ‫من‬ ‫اثنٌن‬ ‫أي‬ ‫بٌن‬ ‫ترٌد‬ ‫كما‬.‫وصل‬ ‫بعد‬ ‫التعٌٌن‬ ‫عامل‬ ‫باستخدام‬ ‫آخر‬ ‫تعبٌر‬ ‫أو‬ ‫متؽٌر‬ ‫إلى‬ ‫النتٌجة‬ ‫تعٌٌن‬ ‫ٌمكنك‬ ،‫القٌم‬ ‫أو‬ ‫التعبٌرات‬.‫أمثلة‬ ‫وهنا‬: Sub Exercise() Dim FirstName As String, LastName As String, FullName As String FirstName = "Valère" LastName = "Edou" FullName = FirstName & " " & LastName End Sub Carriage Return-Line Feed ‫إذا‬‫كنت‬‫تقوم‬‫بعرض‬‫سلسلة‬‫الوصل‬ ‫اداه‬ ‫استخدام‬ ‫ٌمكنك‬ ‫طوٌله‬ ‫ولكنها‬vbCrLf Sub Exercise() Dim FirstName As String, LastName As String, FullName As String Dim Accouncement As String FirstName = "Valère" LastName = "Edou" FullName = FirstName & " " & LastName Accouncement = "Student Registration - Student Full Name: " & _ vbCrLf & FullName ActiveCell.FormulaR1C1 = Accouncement End Sub
  • 76. 76 Arithmetic Operators Addition + ‫تتم‬‫اإلضافة‬‫مع‬‫عالمة‬+‫ٌتم‬‫استخدامها‬‫إلضافة‬‫قٌمة‬‫واحدة‬‫إلى‬‫أخرى‬.‫هنا‬‫مثال‬‫على‬‫ذلك‬: Sub Exercise() Dim Side# Dim Perimeter# Side# = 42.58 Perimeter# = Side# + Side# + Side# + Side# End Sub ‫للرمز‬ ‫ٌمكن‬ ،‫الحسابٌة‬ ‫العملٌات‬ ‫جانب‬ ‫الى‬+‫أخرى‬ ‫إلى‬ ‫واحدة‬ ‫سلسلة‬ ‫إلضافة‬ ،‫هو‬ ‫وهذا‬ ،‫السالسل‬ ‫لوصل‬ ‫أٌضا‬ ‫ٌستخدم‬ ‫أن‬.‫ٌتم‬ ‫اآلخر‬ ‫نهاٌة‬ ً‫ف‬ ‫السلسلة‬ ‫إلحاق‬ ‫طرٌق‬ ‫عن‬ ‫ذلك‬‫ى‬‫ذلك‬ ‫على‬ ‫مثال‬ ‫هو‬ ‫هنا‬: Sub Exercise() Dim FirstName$, LastName$, FullName$ FirstName$ = "Danielle" LastName$ = "Kouma" FullName$ = FirstName$ + " " + LastName$ ActiveCell.FormulaR1C1 = FullName$ End Sub Multiplication * ‫عالمة‬ ‫باستخدام‬ ‫الضرب‬ ‫عملٌة‬ ‫إجراء‬ ‫ٌتم‬* Sub Exercise() Dim Side# Dim Area# Side# = 42.58 Area# = Side# * Side# End Sub