الحصول على قيمة الخلية في Excel VBA (أمثلة خطوة بخطوة)
احصل على قيمة الخلية مع Excel VBA
الخلية هي خلية فردية وهي أيضًا جزء من نطاق ، من الناحية الفنية هناك طريقتان للتفاعل مع خلية في VBA وهما طريقة النطاق وطريقة الخلية ، ويتم استخدام طريقة النطاق مثل النطاق ("A2") القيمة التي ستعطينا قيمة الخلية A2 أو يمكننا استخدام طريقة الخلية كخلايا (2،1) القيمة التي ستعطينا أيضًا قيمة خلايا A2.
سواء أكان ذلك يعمل بشكل ممتاز أو يعمل VBA ، فنحن جميعًا بحاجة إلى العمل مع الخلية أو الخلايا لأنه سيتم تخزين جميع البيانات في الخلايا ، لذلك يتلخص كل ذلك في مدى معرفتنا بالخلايا في VBA. لذلك ، إذا كانت الخلايا جزءًا مهمًا من VBA ، فمن المهم أن تفهمها جيدًا وإذا كنت مبتدئًا فيما يتعلق بخلايا VBA ، فستوجهك هذه المقالة حول كيفية الحصول على قيم الخلية في Excel VBA بالتفصيل.
أول شيء يمكننا الرجوع إليه أو العمل مع الخلايا في VBA بطريقتين ، أي باستخدام خاصية CELLS وكائن RANGE. لماذا تعتبر CELLS خاصية ولماذا يعتبر RANGE كائنًا هو تشبيه مختلف ، وفي وقت لاحق في المقالة ، سنصل إلى هذه النقطة.
أمثلة على الحصول على قيمة الخلية في Excel VBA
فيما يلي أمثلة للحصول على قيمة الخلية في Excel VBA.
يمكنك تنزيل قالب Excel VBA Get Cell Value من هنا - VBA Get Cell Value Excel Templateالمثال رقم 1 - استخدام خاصية RANGE أو CELLS
على سبيل المثال ، في الخلية A1 لدينا القيمة "الهند".
للإشارة إلى هذه الخلية ، يمكننا استخدام خاصية CELLS أو كائن RANGE ، دعنا نرى كلاهما بالتفصيل.
استخدام خاصية النطاق
أولاً ، ابدأ إجراء الماكرو.
رمز:
Sub Get_Cell_Value () End Sub
افتح الآن كائن RANGE.
رمز:
نطاق Get_Cell_Value الفرعي (End Sub
الوسيطة الأولى لهذا الكائن هي "Cell1" أي الخلية التي نشير إليها. في هذه الحالة ، تكون الخلية A1 ، لذلك نحتاج إلى توفير عنوان الخلية بين علامتي اقتباس للكائن RANGE.
رمز:
Sub Get_Cell_Value () Range ("A1") End Sub
نظرًا لأن خلية واحدة فقط تشير إلى معلمات أخرى غير ذات صلة ، فقم بإغلاق القوس ووضع نقطة لرؤية قائمة التحسس.
كما ترون أعلاه في اللحظة التي نضع فيها نقطة يمكننا أن نرى كل قائمة intellisense المتاحة لخصائص وطرق كائن النطاق.
نظرًا لأننا نختار الخلية ، نحتاج إلى اختيار طريقة "SELECT" من قائمة intellisense.
رمز:
Sub Get_Cell_Value Range ("A1") حدد End Sub
الآن حدد الخلية بخلاف A1 وقم بتشغيل الكود.
لا يهم الخلية التي حددتها في اللحظة التي تقوم فيها بتشغيل الكود ، فقد اختارت الخلية المذكورة ، أي الخلية A1.
استخدام خاصية الخلايا
وبالمثل ، نستخدم خاصية CELLS الآن.
رمز:
Sub Get_Cell_Value Range ("A1") حدد الخلايا (End Sub
هذا على عكس كائن RANGE حيث يمكننا توفير عنوان الخلية مباشرة ولكن باستخدام خاصية CELLS هذه لا يمكننا القيام بذلك.
الوسيطة الأولى لهذه الخاصية هي "مؤشر الصف" أي الصف الذي نشير إليه. نظرًا لأننا نختار الخلية A1 ، فإننا نشير إلى الصف الأول ، لذلك اذكر 1.
الحجة التالية هي "فهرس العمود" أي العمود الذي نشير إليه. عمود الخلية A1 هو العمود الأول ، لذا أدخل 1.
يقرأ الكود الخاص بنا CELLS (1 ، 1) أي العمود الأول للصف الأول = A1.
الآن ضع نقطة وشاهد ما إذا كنت سترى قائمة التحسس أم لا.
مع خصائص CELLS ، لا يمكننا رؤية أي قائمة IntelliSense ، لذلك نحتاج إلى التأكد تمامًا مما نكتبه. أدخل "تحديد" كالطريقة.
رمز:
Sub Get_Cell_Value () Range ("A1"). حدد الخلايا (1 ، 1). حدد End Sub
سيؤدي هذا أيضًا إلى تحديد الخلية A1.
مثال # 2 - الحصول على قيمة من الخلية في Excel VBA
التحديد هو أول شيء تعلمناه ، والآن سنرى كيفية الحصول على قيمة من الخلايا. قبل أن نختار الخلية ، نحتاج إلى تحديد المتغير لتخزين القيمة من الخلية.
رمز:
Sub Get_Cell_Value1 () قيمة CellValue باهتة مثل String End Sub
الآن اذكر عنوان الخلية باستخدام كائن RANGE أو خاصية CELLS. نظرًا لأنك مبتدئ ، استخدم كائن RANGE فقط لأنه باستخدام كائن RANGE ، يمكننا رؤية قائمة intellisense.
للمتغير المحدد ضع علامة يساوي واذكر عنوان الخلية.
رمز:
Sub Get_Cell_Value1 () قيمة CellValue باهتة كسلسلة CellValue = النطاق ("A1") End Sub
مرة أخرى ضع نقطة لرؤية قائمة التحسس.
من قائمة vba intellisense ، اختر خاصية "القيمة" للحصول على القيمة من الخلية المذكورة.
رمز:
Sub Get_Cell_Value1 () قيمة CellValue باهتة مثل String CellValue = Range ("A1"). Value End Sub
الآن المتغير "CellValue" يحمل القيمة من الخلية A1. إظهار هذه القيمة المتغيرة في مربع الرسالة في VBA.
رمز:
Sub Get_Cell_Value1 () قيمة CellValue باهتة كسلسلة CellValue = النطاق ("A1"). القيمة MsgBox CellValue End Sub
حسنًا ، قم بتشغيل الكود وانظر النتيجة في مربع رسالة.
نظرًا لوجود قيمة "INDIA" في الخلية A1 ، ظهر نفس الشيء في مربع الرسائل أيضًا. مثل هذا ، من خلال قيمة VBA للخلية يمكننا الحصول على قيمة الخلية.
مثال # 3 - الحصول على قيمة من خلية إلى خلية أخرى
نحن نعرف كيفية الحصول على قيمة من الخلية باستخدام vba ، والسؤال الآن هو كيفية إدراج قيمة في الخلية. لنأخذ نفس المثال فقط ، بالنسبة للخلية A1 ، نحتاج إلى إدخال قيمة "INDIA" ويمكن القيام بذلك من الكود أدناه.
رمز:
نطاق Get_Cell_Value2 () فرعي ("A1"). القيمة = "INDIA" End Sub
سيؤدي هذا إلى إدراج قيمة "الهند" في الخلية A1 ، وبالمثل للحصول على قيمة من خلية إلى أخرى ، يمكننا كتابة الكود على النحو التالي.
رمز:
نطاق Get_Cell_Value2 () فرعي ("A5"). القيمة = نطاق ("A1"). قيمة نهاية فرعية
اسمحوا لي أن أشرح لك الرمز.
"بالنسبة للخلية A5 ، نحتاج إلى القيمة التي تأتي من قيمة الخلية A1" ، هذا كل ما يقوله هذا الرمز. لذلك سيحصل هذا على القيمة من الخلية A1 إلى A5 باستخدام رمز VBA.
أشياء للذكرى
- يتطلب إدخال قيمة إلى الخلايا والحصول على قيمة من الخلية استخدام خاصية VBA "VALUE".
- باستخدام خاصية CELLS ، يمكننا تحديد خلية واحدة فقط ولكن باستخدام كائن RANGE يمكننا تحديد خلايا متعددة.