أساسيات VBA إكسل : كيف يتم تشغيل الماكرو في الاكسل ؟

أساسيات VBA إكسل : كيف يتم تشغيل الماكرو في الاكسل ؟


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

أولا نقوم بفتح المحرر ، في الاكسيل ثم نقوم باضافة وحدة نمطية اليه و في الاخير ننسخ الماكرو التالي ثم ربطه بزر.


Sub proprietes() 'Macro incomplète Range("A8") End Sub



سنقوم بتنفيذ اجراء على الخلية A8 في بداية الماكرو.


لعرض قائمة الاحتمالات التي يمكن ربطها بكائن النطاق ، أضف ثم Range("A8")


أساسيات VBA إكسل : كيف يتم تشغيل الماكرو في الاكسل ؟



سيعرض المحرر الاحتمالات المختلفة ...

بالنسبة للمثال الأول ، انقر فوق 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 إكسل : كيف يتم تشغيل الماكرو في الاكسل ؟



كيفية تعديل حجم النص في الاكسيل بواسطة الماكرو 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


أساسيات 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

أساسيات 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

 


Comments
No comments
Post a Comment



    Reading Mode :
    Font Size
    +
    16
    -
    lines height
    +
    2
    -