VBA Copy Paste | أفضل الطرق للنسخ واللصق في VBA (مع أمثلة)

يشبه Copy Paste in VBA ما نقوم به في ورقة عمل excel ، مثل أنه يمكننا نسخ قيمة ولصقها في خلية أخرى ، كما يمكننا استخدام لصق خاص للصق القيم فقط ، وبالمثل في VBA ، نستخدم طريقة النسخ مع خاصية النطاق انسخ قيمة من خلية إلى أخرى ولصق القيمة التي نستخدمها في ورقة العمل ، قم بلصق طريقة لصق أو لصق خاص.

كيفية نسخ اللصق في VBA؟

فيما يلي بعض الأمثلة على كيفية نسخ اللصق في Excel باستخدام VBA.

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

المثال رقم 1 - نسخ القيم ولصقها باستخدام كائن النطاق

يمكنك تنزيل قالب VBA Copy Paste Excel هذا هنا - قالب VBA Copy Paste Excel

افترض أن لديك كلمة "Excel VBA" في الخلية A1.

لنفترض على سبيل المثال إذا كنت تريد نسخ الخلية A1 ، يمكننا استخدام كائن VBA RANGE.

رمز:

نطاق Copy_Example () الفرعي ("A1"). End Sub

في اللحظة التي تشير فيها إلى الخلية ، يمكننا رؤية جميع الخصائص والطرق معها. لذا حدد طريقة " نسخ ".

رمز:

 Sub Copy_Example () Range ("A1"). Copy End Sub 

بعد تحديد الطريقة ، اضغط على مفتاح المسافة لرؤية وسيطة طريقة النسخ.

تقول الوجهة.

هذا ليس سوى المكان الذي تريد نسخ القيم ولصقها في VBA دون تحديد طريقة اللصق.

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

رمز:

 Sub Copy_Example () Range ("A1"). وجهة النسخ: = النطاق ("B3") End Sub 

سيؤدي هذا إلى نسخ البيانات من الخلية A1 ولصقها في الخلية B3.

يمكننا أيضًا استخدام الطريقة أدناه للصق البيانات.

رمز:

 Sub Copy_Example () Range ("A1"). نسخ النطاق ("B3"). حدد ActiveSheet.Paste End Sub 

أولاً ، سنقوم بنسخ وتحديد البيانات من الخلية A1 ولصقها في الخلية B3.

مثال # 2 - نسخ إلى ورقة عمل أخرى في نفس المصنف

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

رمز:

 Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub 

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

أولا نحن بحاجة إلى ذكر ورقة النسخ.

أوراق العمل ("الورقة 1"). النطاق ("A1"). نسخ

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

الوجهة: = أوراق العمل ("Sheet2"). النطاق ("B3")

لذا يجب أن يعجب الكود بهذا.

رمز:

 Sub Copy_Example () Worksheets ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub 

مثال # 3 - نسخ من مصنف واحد إلى مصنف آخر

لقد رأينا كيفية النسخ من ورقة العمل إلى ورقة عمل أخرى في نفس المصنف. ولكن يمكننا أيضًا القيام بذلك من مصنف إلى مصنف آخر.

ألق نظرة على الكود أدناه.

رمز:

 Sub Copy_Example () Workbooks ("Book 1.xlsx"). Worksheets ("Sheet1"). Range ("A1"). Copy Workbooks ("Book 2.xlsx"). Activate ActiveWorkbook.Worksheets ("Sheet 2"). حدد ActiveSheet.Paste End Sub 

أولاً ، سيتم نسخ البيانات من ورقة العمل "Sheet1" في المصنف "Book1.xlsx" من الخلية A1.

" Workbooks (" Book 1.xlsx "). Worksheets (" Sheet1 "). Range (" A1 "). Copy"

ثم يتم تنشيط المصنف "Book 2.xlsx".

مصنفات ("Book 2.xlsx"). تنشيط

في المصنف النشط ، سيحدد ورقة العمل "الورقة 2"

ActiveWorkbook.Worksheets ("الورقة 2"). حدد

الآن في الورقة النشطة ، سيتم لصقها

ActiveSheet.Paste

طريقة بديلة لاستخدام Copy Paste في VBA

لدينا طريقة أخرى بديلة للحصول على البيانات من خلية إلى خلية أخرى. افترض أن لديك كلمة "Excel VBA" في الخلية A1 وتحتاج إلى نفس الكلمة لتظهر في الخلية B3.

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

رمز:

 نطاق Copy_Example1 () فرعي ("A1"). القيمة = نطاق ("B3"). قيمة نهاية فرعية 

ما ورد أعلاه يقول أيا كانت القيمة الموجودة في الخلية A1 يجب أن تكون مساوية للقيمة الموجودة في الخلية B3.

النطاق ("A1"). القيمة = النطاق ("B3"). القيمة

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

أفضل طرق نسخ ولصق VBA كقيم

سنرى الآن طرقًا مختلفة لنسخ القيم ولصقها في VBA. افترض أنك في الخلية A1 كما هو موضح في الصورة أدناه.

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

رمز:

 Sub Copy_Example1 () Selection.Copy Destination: = Range ("B3") End Sub 

أو

 Sub Copy_Example1 () ActiveCell.Copy Destination: = Range ("B3") End Sub 
  • إذا كنت ترغب في نسخ النطاق المستخدم بالكامل من ورقة العمل ، يمكنك استخدام الكود أدناه.

رمز:

 Sub Copy_Example2 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub 

سيؤدي هذا إلى نسخ النطاق المستخدم بالكامل في ورقة العمل "ورقة 1" وسيلصق نفس النطاق في ورقة العمل "ورقة 2"