Vba: كيفية لصق القيم والحفاظ على التنسيق
يمكنك استخدام بناء الجملة التالي في VBA لنسخ نطاق من الخلايا ولصق القيم وتنسيق المصدر في موقع جديد:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
سيقوم هذا الماكرو المحدد بنسخ الخلايا الموجودة في النطاق A1:C11 ولصق قيم الخلية بتنسيقها في النطاق بدءًا من الخلية A13 .
ملاحظة : يحدد السطر Application.CutCopyMode = False أنه يجب تعطيل وضع القص والنسخ بعد تشغيل الماكرو.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: لصق القيم والاحتفاظ بالتنسيق باستخدام VBA
لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:
لنفترض أننا نريد نسخ ولصق كافة القيم في النطاق A1:C11 إلى موقع جديد والاحتفاظ بالتنسيق.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم لصق قيم الخلايا الأصلية بتنسيقها في نطاق الخلايا بدءًا من الخلية A13 .
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA PasteSpecial هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية لصق القيم فقط بدون تنسيق
فبا: كيفية نسخ الخطوط المرئية إلى ورقة أخرى
VBA: نسخ الصفوف إلى ورقة أخرى بناءً على المعايير