أساسيات VBA إكسل : كيف يتم تشغيل الماكرو في الاكسل ؟
في هذه التدوينة سنتعلم كيفية التحكم في محتوى ومظهر الخلايا والأوراق في الاكسيل بواسطة الخصائص الموجودة في الماكرو VBA
أولا نقوم بفتح المحرر ، في الاكسيل ثم نقوم باضافة وحدة نمطية اليه و في الاخير ننسخ الماكرو التالي ثم ربطه بزر.
Sub proprietes() 'Macro incomplète Range("A8") End Sub
سنقوم بتنفيذ اجراء على الخلية A8 في بداية الماكرو.
لعرض قائمة الاحتمالات التي يمكن ربطها بكائن النطاق ، أضف . ثم Range("A8")
سيعرض المحرر الاحتمالات المختلفة ...
بالنسبة للمثال الأول ، انقر فوق Value ثم اضغط على مفتاح Tab لتأكيد هذا الاختيار:
Sub proprietes() 'Macro incomplète Range("A8").Value End Sub
خاصية القيمة أو Value هنا تمثل محتوى الخلية.
نريد
الآن إعطاء القيمة 48إلى الخلية A8
Sub proprietes() 'Cellule A8 = 48 Range("A8").Value = 48 'Traduction : 'La valeur de la cellule A8 est désormais : 48 End Sub
ثم الان القيمة هنا عبارة عن نص بسيط إلى A8 يجب وضع النص بين " " :
Sub proprietes() 'Cellule A8 = Exemple de texte Range("A8").Value = "Exemple de texte" End Sub
في
هذه الحالة ، سيتم تعديل الخلية A8 من الورقة حيث سيتم
بدء الإجراء .
إذا
أنشأت زرًا ثانيًا في الورقة 2 ، فسيتم تعديل الخلية A8 في الورقة 2.
لتعديل
الخلية A8 في الورقة 2 بالنقر فوق زر الورقة
1 ، يجب تحديد اسم الورقة بالإضافة الأوراق ("اسم_ورقة") المدى
الأمامي:
Sub proprietes() 'Cellule A8 de la feuille 2 = Exemple de texte Sheets("Feuil2").Range("A8").Value = "Exemple de texte" End Sub
وبالمثل
، إذا كنت تريد تعديل الخلية A8 من الورقة 2 من مصنف
مفتوح آخر ، فيجب عليك تحديد اسم المصنف في بداية السطر باستخدام المصنفات
("اسم_الملف") :
Sub proprietes() 'Cellule A8 de la feuille 2 du classeur 2 = Exemple de texte Workbooks("Classeur2.xlsx").Sheets("Feuil2").Range("A8").Value = "Exemple de texte" End Sub
بالرغم
ان القيمة التي تم استخدامها لتوضيح هذه الأمثلة المختلفة ، ليس من الضروري
الإشارة إليها ، لأنها قيمة الخلية التي يتم تعديلها تلقائيًا إذا لم يتم تحديد أي
شيء.
ينتج
عن هذين السطرين نتيجة متطابقة:
Range("A8").Value = 48 Range("A8") = 48
كيفية تنسيق النص في الاكسيل بواسطة الماكرو VBA
بعد
اختيار الخاصية Font ثم اضافة . ، ستظهر قائمة الخصائص التي يمكن تعيينها
لتنسيق النص:
كيفية تعديل حجم النص في الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Modifier la taille du texte des cellules A1 à A8 Range("A1:A8").Font.Size = 18 End Sub
كيفية تعديل نص عريض في الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Mettre en gras les cellules A1 à A8 Range("A1:A8").Font.Bold = True End Sub
لإزالة تنسيق النص العريض،يجب استبدال نعم عبر لا :
Sub proprietes() 'Enlever la mise en forme "gras" des cellules A1 à A8 Range("A1:A8").Font.Bold = False End Sub
كيفية تعديل نص بخط مائل في الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Mettre en italique les cellules A1 à A8 Range("A1:A8").Font.Italic = True End Sub
كيفية تعديل نص تحته سطر في الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Souligner les cellules A1 à A8 Range("A1:A8").Font.Underline = True End Sub
كيفية تغيير الخط في خلايا الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Modifier la police de caractères des cellules A1 à A8 Range("A1:A8").Font.Name = "Arial" End Sub
كيفية اضافة خطوط في خلايا الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Ajouter une bordure aux cellules A1 à A8 Range("A1:A8").Borders.Value = 1 'Value = 0 : pas de bordure End Sub
كيفية تغيير تنسيق التحديد الحالي في خلايا الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Ajouter une bordure aux cellules sélectionnées Selection.Borders.Value = 1 End Sub
كيفية تعديل خصائص الورقة في الاكسيل بواسطة الماكرو VBA
Sub proprietes() 'Masquer une feuille Sheets("Feuil3").Visible = 2 'Visible = -1 : afficher la feuille End Sub
كيفية تغيير قيمة خلية واحدة بناءً على أخرى في الاكسيل بواسطة الماكرو VBA
الهدف
هنا هو أن تأخذ A7 قيمة A1 ، مما يعطينا:
Sub proprietes() 'A7 = A1 Range("A7") = Range("A1") 'Ou : 'Range("A7").Value = Range("A1").Value End Sub
للنسخ ، على سبيل المثال ، حجم النص:
Sub proprietes() Range("A7").Font.Size = Range("A1").Font.Size End Sub
كيفية تغيير قيمة الخلية بناءً على قيمة في خلية أخرى بواسطة الماكرو VBA
سنقوم
الآن بإنشاء عداد نقر هنا.
مع
كل نقرة ، ستزداد قيمة A1 بمقدار 1:
Sub proprietes() 'Compteur de clics en A1 Range("A1") = Range("A1") + 1 End Sub
يقوم الاكسيل بتنفيذ سطر التعليمات البرمجية
سطريًا مع أولويات معينة ، ويجب أن تساعدك هذه التعليقات على فهم هذا الرمز
نفسه بشكل أفضل:
'Pour cet exemple : A1 vaut 10 avant l'exécution du code Sub proprietes() 'Un clic a été fait sur le bouton, nous entrons dans la procédure 'Pour le moment A1 vaut encore 10 'Pendant l'exécution de la ligne ci-dessous : '- la valeur à droite du = est calculée en priorité (A1 vaut toujours 10, cela donne 10 + 1) '- après calcul, la valeur à droite du = vaut donc 11 '- A1 prend ensuite la valeur à droite du = (soit la valeur 11) Range("A1") = Range("A1") + 1 'A1 vaut alors 11 seulement après l'exécution de la ligne de code End Sub
مع
يستخدم
هذا الرمز لتحديد خصائص مختلفة في الخلية A8 من الورقة 2:
Sub proprietes() Sheets("Feuil2").Range("A8").Borders.Weight = 3 Sheets("Feuil2").Range("A8").Font.Bold = True Sheets("Feuil2").Range("A8").Font.Size = 18 Sheets("Feuil2").Range("A8").Font.Italic = True Sheets("Feuil2").Range("A8").Font.Name = "Arial" End Sub
يمكننا ان نستخدم مع لتجنب تكرار الأوراق Sheets("Feuil2").Range("A8"):
Sub proprietes() 'Début de l'instruction avec : With With Sheets("Feuil2").Range("A8") .Borders.Weight = 3 .Font.Bold = True .Font.Size = 18 .Font.Italic = True .Font.Name = "Arial" 'Fin de l'instruction avec : End With End With End Sub
على
الرغم من أنه ليس ضروريًا في هذه الحالة ، إلا أنه من الممكن أيضًا القيام بنفس
الشيء.Font، مما يعطينا:
Sub proprietes() With Sheets("Feuil2").Range("A8") .Borders.Weight = 3 With .Font .Bold = True .Size = 18 .Italic = True .Name = "Arial" End With End With End Sub