كيفية استخدام المتغيرات في VBA | اكسيل لتخزين جميع أنواع البيانات
في هذه التدوينة سنتعلم كيفية استخدام المتغيرات في VBA | اكسيل لتخزين جميع أنواع البيانات.
المثال
الأول :
'Affichage de la valeur de la variable dans une boîte de dialogue Sub variables() 'Déclaration de la variable Dim maVariable As Integer 'Attribution d'une valeur à la variable maVariable = 12 'Affichage de la valeur de maVariable dans une MsgBox MsgBox maVariable End Sub
السطر
الأول من الكود هو إعلان المتغير يتم وضعه بشكل عام في البداية.
Dim maVariable As Integer
- Dim : إعلان المتغير
- maVariable : الاسم المختار لهذا المتغير يتم كتابته بدون مسافات
- As : التصريح عن نوع المتغير
- Integer :نوع المتغير
يعتبرإعلان
المتغيرات الخاصة بك ليس ضروريا ولكنه موصى به. مما يجعل التنقل أسهل ، ويمكن أن
يساعدنا في حل المشكلات بسهولة أكبر ، لذلك من
الأفضل أن تعتاد على التصريح عن المتغيرات بشكل صحيح.
يشير نوع
المتغير إلى طبيعة المحتوى(نص ، أرقام ، تاريخ ، إلخ).
ثم يتم إعطاء
قيمة لهذا المتغير:
maVariable = 12
وأخيرًا ، يتم
عرض قيمة المتغير في مربع حوار:
MsgBox maVariable
MsgBox يعرض قيمة في مربع يسمى boîtes de dialogue سيتم تفصيل هذه الخاصية في الدروس الاتية
نتيجة هذا
الكود:
أنواع المتغيرات VBA
بعض الأمثلة
بأنواع مختلفة:
'Exemple : nombre entier Dim nbEntier As Integer nbEntier = 12345 'Exemple : nombre à virgule Dim nbVirgule As Single nbVirgule = 123.45 'Exemple : texte Dim varTexte As String varTexte = "Excel-Pratique.com" 'Exemple : date Dim varDate As Date varDate = "28/08/2021" 'Exemple : vrai/faux Dim varBoolean As Boolean varBoolean = True 'Exemple : objet (objet Worksheet pour cet exemple) Dim varFeuille As Worksheet Set varFeuille = Sheets("Feuil2") 'Set => attribution d'une valeur à une variable objet 'Exemple d'utilisation de la variable objet : activation de la feuille varFeuille.Activate
تستخدم الرموز
الموضحة في الجدول أعلاه لاختصار التصريحات المتغيرة.
من أجل سهولة
القراءة ، لن يتم استخدامها في الدروس ، ولكن إليك مثال:
Dim exemple As Integer Dim exemple%
هذان الخطان متشابهان.
مثال
سنقوم الآن
بإنشاء ماكرو على مراحل يقوم باسترداد الاسم في الخلية A2 ، والاسم الأول في الخلية B2 ،
والعمر في الخلية C2 والذي
سيعرضها في مربع حوار.
لنبدأ
بالإعلان عن المتغيرات (على نفس السطر ، مفصولة بفواصل):
Sub variables() 'Déclaration des variables Dim nom As String, prenom As String, age As Integer End Sub
بعد ذلك ،
دعنا نخصص قيم الخلية للمتغيرات:
Sub variables() 'Déclaration des variables Dim nom As String, prenom As String, age As Integer 'Valeurs des variables nom = Cells(2, 1) prenom = Cells(2, 2) age = Cells(2, 3) End Sub
وأخيرًا ،
دعنا نعرض النتيجة في مربع الحوار عن طريق ربط القيم مع &كما في صيغ الاكسيل
Sub variables() 'Déclaration des variables Dim nom As String, prenom As String, age As Integer 'Valeurs des variables nom = Cells(2, 1) prenom = Cells(2, 2) age = Cells(2, 3) 'Boîte de dialogue MsgBox nom & " " & prenom & ", " & age & " ans" End Sub
سنحاول الآن
عرض صف الجدول المقابل للرقم الموضح في الخلية F5 في مربع الحوار.
هذا هو الهدف:
توقف لحظة
لإجراء هذا التغيير بنفسك قبل الانتقال إلى الحل للأسفل قليلاً ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
الحل :
Sub variables() 'Déclaration des variables Dim nom As String, prenom As String, age As Integer, numeroLigne As Integer 'Valeurs des variables numeroLigne = Range("F5") + 1 nom = Cells(numeroLigne, 1) prenom = Cells(numeroLigne, 2) age = Cells(numeroLigne, 3) 'Boîte de dialogue MsgBox nom & " " & prenom & ", " & age & " ans" End Sub
تمت اضافة المتغير numeroLigne :
'Déclaration des variables Dim nom As String, prenom As String, age As Integer, numeroLigne As Integer
يأخذ المتغير قيمة الخلية F5 التي نضيف إليها 1
المتغير numeroLigne لذلك سيكون لها قيمة رقم صف الخلايا التي تهمنا:
numeroLigne = Range("F5") + 1
يبقى فقط
لاستبدال أرقام الأسطر في الخلايا بواسطة المتغير لدينا:
nom = Cells(numeroLigne, 1) prenom = Cells(numeroLigne, 2) age = Cells(numeroLigne, 3)
يعرض الماكرو
الآن صف الجدول الذي يهمنا.
لاحظ أنه
يمكننا طي هذا الإجراء بأكمله في سطر واحد:
Sub variables() MsgBox Cells(Range("F5")+1,1) & " " & Cells(Range("F5")+1,2) & ", " & Cells(Range("F5")+1,3) & " ans" End Sub