JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
الصفحة الرئيسية

المتغيرات فى لغة البرمجة VBA Variable

 

بسم الله الرحمن الرحيم

اهلا بكم متابعى موقع عالم الاوفيس

المتغيرات   فى لغة البرمجة VBA



في VBA ، يشبه المتغير صندوق تخزين يتم تخزينه في نظامك ولكن يمكنه تخزين قيمة فيه ويمكنك استخدام هذه القيمة في التعليمات البرمجية الخاصة بك ويمكنك تغيير هذه القيمة إذا كنت تريد (كما يوحي الاسم ، "المتغير" شيء قيمته غير ثابتة).

للإعلان عن متغير ، عليك اتباع إجراء بسيط:

استخدم الكلمة الأساسية "Dim" في البداية.

حدد اسمًا للمتغير.

استخدم الكلمة الأساسية "As" بعد الاسم.

حدد "نوع البيانات" للمتغير وفقًا للقيمة التي تريد تخصيصها له.

استخدمنا هنا اسم " startDate " وحددنا نوع البيانات " Date ". بعد التصريح عن متغير يمكنك إسناد قيمة له.

 

Dim startDate As Date

startDate = “11/10/2018

الآن ، متى استخدمت startDate في الكود الخاص بك ، سيستخدم Excel التاريخ الذي قمت بتعيينه له.

أنواع البيانات Data Types

في VBA ، تعد أنواع البيانات أساسًا أنواع البيانات التي تحتاج إلى تحديدها أثناء تخزين قيمة في متغير أو ثابت. على سبيل المثال ، إذا كنت تريد تخزين تاريخ في متغير ، يجب أن تعلن عن هذا التاريخ المتغير كنوع بياناته في المقام الأول.

شرح أنواع البيانات

فيما يلي القائمة الكاملة لأنواع البيانات التي يمكنك استخدامها في VBA.

Data Type

Bytes Used

Range of Values

Byte

1 byte

0 to 255

Boolean

2 bytes

True or False

Integer

2 bytes

-32,768 to 32,767

Long (long integer)

4 bytes

-2,147,483,648 to 2,147,483,647

Single

4 bytes

-3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values

Double

8 bytes

-1.79769313486231E308 to-4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values

Currency

8 bytes

-922,337,203,685,477.5808 to 922,337,203,685,477.5807

Decimal

14 bytes

+/-79,228,162,514,264,337,593,543,950,335 with no decimal point;+/-7.9228162514264337593543950335 with 28 places to the right of the decimal

Date

8 bytes

January 1, 100 to December 31, 9999

Object

4 bytes

Any Object reference

String (variable-length)

10 bytes + string length

0 to approximately 2 billion

String (fixed length)

Length of string

1 to approximately 65,400

Variant (with numbers)

16 bytes

Any numeric value up to the range of a Double

Variant (with characters)

22 bytes + string length

Same range as for variable-length String

User-defined

Varies

The range of each element is the same as the range of its data type

 

يوصى بهذا بشدة للإعلان عن نوع البيانات للمتغيرات والثوابت.

عندما تحدد نوع البيانات لمتغير أو ثابت ، فهذا يضمن صحة بياناتك ويمنعك من إدخال نوع غير صالح من البيانات. إذا حذفت نوع البيانات ، فسيقوم VBA بتطبيق نوع البيانات المتغير على المتغير الخاص بك - فهو الأكثر مرونة ولن يخمن VBA نوع البيانات الذي يجب أن يكون.

نصيحة: أفضل طريقة لعدم تخطي تحديد أنواع البيانات هي استخدام الخيار الصريح في أعلى الوحدة النمطية قبل بدء أي رمز.

 

التعبير عن المتغير (صريح او ضمنا )

يمكنك التصريح عن متغير سواء بشكل صريح أو ضمني. يعني التصريح الصريح أنه قبل تعيين قيمة لمتغير ، فإنك تعلنها وتحدد قيمتها. والفائدة من ذلك هي عندما تقوم بتعريفه ويقوم VBA دائمًا بتخزين البيانات بهذا التنسيق.

 

هذا مثال:

 

Dim myDate As Date

لذلك عندما تقوم بتخزين القيمة في VBA ، ستطبق دائمًا تنسيق التاريخ على ذلك. لكن مع الإعلان الضمني ، لا تهتم ببيان الإعلان الصريح هذا. بدلاً من ذلك ، يمكنك تحديد قيمة المتغير واستخدامه في بيان التعليمات البرمجية. في الإعلان الضمني ، يخزن VBA البيانات في نوع متغير متغير لأنك لم تحدد النوع.

 

بعبارة أخرى ، إذا كنت تستخدم متغيرًا في شفرتك دون التصريح عنه ، فهذا أمر ضمني. فيما يلي مثال على الإعلان الضمني:

 

myDate = "11/10/1990"

هذه هي الطريقة التي تقوم بها ببساطة بتعيين القيمة إلى متغير واستخدامها في عبارات التعليمات البرمجية الخاصة بك. إذا سألتني ، فمن الأفضل دائمًا التصريح عن متغير قبل استخدامه. إنها ليست ممارسة جيدة فحسب ، بل إنها تجعل شفرتك تعمل بشكل أسرع وتجعل من السهل فهمها.

 

متغير ثابت Static Variable

حسنًا ، لقد أخبرتك أن المتغير هو المكان الذي يمكنك فيه تغيير القيمة ولكن هذا شيء مختلف. باستخدام متغير عادي عند اكتمال الإجراء ، سيتم حذف القيمة المخزنة في المتغير من ذاكرة VBA ، ولكن إذا كنت لا تريد أن تفقد هذه القيمة ، يمكنك جعل هذا المتغير ثابتًا.

لجعل المتغير ثابتًا بحيث يحتفظ بالقيمة ، ما عليك سوى استخدام الكلمة الرئيسية "Static" بدلاً من استخدام "Dim".

 

تسمية متغير Naming a Variable

يمكنك تسمية متغير (تنطبق هذه القواعد أيضًا على اسم الثابت والإجراء) بالطريقة التي تريدها ولكن هناك بعض القواعد التي تحتاج إلى اتباعها:

 

·         يمكنك استخدام الحروف الأبجدية والأرقام وبعض علامات الترقيم ولكن يجب أن يكون الحرف الأول من الاسم أبجديًا.

·         المسافات أو النقاط ليست أحرفًا صالحة لاستخدامها في الاسم ولكن يمكنك استخدام شرطة سفلية لجعل الاسم قابلاً للقراءة.

·         لا يمكنك استخدام رموز خاصة في الاسم.

·         يمكن أن يصل طول الاسم إلى 254 حرفًا ولكن باستخدام اسم لا معنى له.

·         هناك العديد من الكلمات المحجوزة ، وهي كلمات لا يمكنك استخدامها للاسم. إذا حاولت استخدام إحدى هذه الكلمات ، فستتلقى رسالة خطأ.

·         لا يفرق VBA بين الحالات.

 

النطاق او المدى  Scope

 

في هذه المرحلة ، تعرف الإجراءات وأي إجراء مفيد في أي موقف ، وتتعرف أيضًا على المتغيرات وكيفية تحديد أنواع بياناتها.

 

الشيء المهم التالي هو فهم النطاق ، مما يعني التوافر. هذا هو المكان الذي يمكن استخدامه فيه. عندما تحدد متغيرًا ، يحدد النطاق ما إذا كان يمكنك استخدامه خارج إجراءات المنزل أم لا. هناك ثلاث طرق لتحديد النطاقات للمتغيرات (ثابت وحتى مع الإجراء بأكمله).

 

Procedure-Level مستوى الإجراء: يمكنك فقط استخدام متغير في نفس الإجراء حيث تصرح عنه.

Module-Level مستوى الوحدة: يجعل المتغير يمكن الوصول إليه من جميع الإجراءات في وحدة نمطية.

Module-Level (Public)مستوى الوحدة (عام): يجعل المتغير يمكن الوصول إليه من جميع الإجراءات في جميع الوحدات.

The default scope النطاق الافتراضي للمتغير هو الإجراء (مستوى الإجراء) الذي يتم فيه الإعلان عن هذا المتغير.

الاسمبريد إلكترونيرسالة