محتويات واضحة VBA | كيفية مسح أو حذف المحتويات باستخدام كود فبا؟
محتويات Excel VBA الواضحة
مسح المحتويات هي طريقة في VBA تُستخدم لحذف أو إزالة القيم المخزنة في الخلايا المتوفرة لها ، هذه الطريقة تجعل نطاق الخلايا فارغًا ويتم استخدامه مع خاصية النطاق للوصول إلى نطاق الخلايا المحدد ، على سبيل المثال لاستخدام هذه الطريقة هو النطاق التالي ("A1: B2"). ClearContents ستؤدي هذه الطريقة إلى مسح محتويات الخلايا من A1 إلى B2.
في Excel ، تعد إضافة البيانات وحذفها مهمة روتينية شائعة. في بعض الأحيان نحذف قيمة خلية واحدة ، وأحيانًا العديد من قيم الخلايا ، وفي وقت ما قد نطلب حذف محتوى ورقة العمل بالكامل أيضًا. في هذه المقالة ، سنوضح لك كيفية استخدام طريقة "مسح المحتويات" في Excel VBA. في VBA ، لدينا العديد من الطرق للقيام بذلك مثل "Clear" و "Delete" و "Clear Contents".
ما هي محتويات واضحة في Excel VBA؟
قبل أن أخبرك عن مسح المحتويات في VBA ، اسمحوا لي أن أوضح كيف يمكننا حذف أو مسح البيانات في النطاق المحدد.
على سبيل المثال ، انظر إلى البيانات أدناه.
الآن إذا كنت أرغب في التخلص من الخلية A1 إلى C3 ، فعلينا أن نذكر أولاً نطاق الخلايا باستخدام كائن VBA RANGE.
رمز:
النطاق ("A1: C3")
بعد ذكر نطاق الخلايا باستخدام كائن RANGE ، نحتاج إلى تحديد الطريقة "Clear" لإزالة الإشارة إلى قيم الخلية.
رمز:
النطاق ("A1: C3") مسح
سيؤدي هذا إلى مسح قيم الخلية المذكورة.
رمز:
نطاق Clear_Example () الفرعي ("A1: C3"). امسح End Sub
بصرف النظر عن الطريقة الواضحة ، يمكننا أيضًا استخدام طريقة "DELETE" أيضًا.
رمز:
النطاق ("A1: C3"). حذف
سيؤدي هذا إلى حذف قيم الخلية المذكورة تمامًا مثلما فعلت طريقتنا الواضحة.
إذا كنت تريد حذف جميع بيانات الخلية ، فيمكنك استخدام خاصية VBA CELLS مع اسم ورقة العمل.
أوراق العمل ("الورقة 1"). الخلايا. حذف
أوراق العمل ("الورقة 1"). الخلايا واضحة
سيؤدي كلا الرمزين أعلاه إلى حذف البيانات الكاملة لورقة العمل "Sheet1". سيحذف قيم الخلية مباشرة من الخلية الأولى إلى الخلية الأخيرة في ورقة العمل.
إذا كنت تريد حذف خلايا الورقة الحالية ، فيمكنك استخدام كائن الورقة النشطة.
ActiveSheet.Cells.Delete أو ActiveSheet.Cells.Clear
الفرق بين طرق المسح والحذف
أعلم أن هذا السؤال كان يجب أن يتم تشغيله بالفعل في ذهنك.
نعم ، هناك فرق بين هاتين الطريقتين.
عند استخدام طريقة "حذف" ، سيتم حذف الخلية وستتولى الخلية أدناه موضع الخلية المحذوفة.
للحصول على مثال ، انظر إلى الصورة أدناه.
الآن سأستخدم طريقة الحذف لحذف الخلية A1.
رمز:
نطاق Clear_Example () الفرعي ("A1"). احذف End Sub
سأقوم بتشغيل هذا الرمز ونرى ما سيحدث.
انظر إلى ما حدث هنا كما قلت عندما حذفت الخلية A1 ، تم حذفها ولكن الخلية A2 تحركت خلية واحدة لأعلى واحتلت الخلية المحذوفة. سيؤدي هذا إلى عدم تطابق البيانات. لذا كن حذرًا أثناء استخدام طريقة الحذف.
الآن لنفس البيانات ، سأقوم بمسح الطريقة.
رمز:
نطاق Clear_Example () الفرعي ("A1"). امسح End Sub
الآن انظر ماذا يحدث عندما أقوم بتشغيل هذا الرمز.
لقد أخلى هذا الرمز للتو الخلية A1 دون تغيير الخلايا الأخرى. تبدو هذه الطريقة المناسبة لحذف جزء فقط من خلايا نطاق البيانات بأكمله.
استخدم طريقة VBA Clear Contents للاحتفاظ بتنسيق الخلايا
إذا كنت قد لاحظت الطريقتين السابقتين ، فلن تقوم هاتان الطريقتان بحذف أو مسح الخلايا المتوفرة فقط. كما حذفت أيضًا تنسيق الخلايا التي قدمناها.
من أجل الاحتفاظ بتنسيق الخلايا ، لا نحتاج إلى استخدام "حذف" أو "مسح" ولكننا نحتاج إلى استخدام طريقة VBA "مسح المحتويات".
في اللحظة التي تدخل فيها نطاق الخلايا باستخدام كائن RANGE ، ستظهر جميع الخصائص والأساليب المرتبطة به.
يمكننا الوصول إلى "حذف" ، ويمكننا الوصول إلى "مسح" ، ويمكننا أيضًا استخدام طرق "ClearContents".
حدد هذه الطريقة.
رمز:
نطاق Clear_Example () الفرعي ("A1: C3"). ClearContents End Sub
الآن ، سيؤدي هذا إلى مسح المحتوى من الخلية A1 إلى C3 ولكن سيكون لدينا جميع التنسيقات الحالية كما هي.
كما ترى في الصورة أعلاه ، لدينا لون خلية في VBA والحدود وكل تنسيق مرتبط بتلك الخلايا المذكورة.
وبالمثل ، يمكننا مسح محتويات الأوراق الأخرى أيضًا.
أوراق العمل ("الورقة 1") النطاق ("A1: D10") محتويات واضحة
سيؤدي هذا إلى مسح المحتويات من الخلايا A1 إلى D10 في الورقة "الورقة 1".
وبالمثل ، يمكننا حذف خلايا المصنف المفتوحة الأخرى أيضًا.
مصنفات (“Book1.xlsx”). أوراق عمل (“Sheet1”). النطاق (“A1: D10”). ClearContents
قم بالتكرار خلال جميع أوراق العمل والمحتويات الواضحة لنطاق معين
افترض أن لديك العديد من الأوراق في المصنف الخاص بك وتريد حذف نطاق الخلايا من A1 إلى C15 في جميع الأوراق التي نحتاج إلى استخدامها لكل حلقة في VBA للقيام بذلك.
الكود أدناه سيفي بالغرض.
رمز:
Sub Clear_All () Dim Ws كأوراق عمل لكل Ws في ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Next Ws End Subملاحظة: يمكنك تغيير نطاق الخلايا حسب رغبتك.
فقط في حالة ما إذا كنت ترغب في مسح بيانات ورقة العمل بالكامل ، فأنت بحاجة إلى استخدام الكود أدناه.
رمز:
Sub Clear_All () Dim Ws كورقة عمل لكل Ws في ActiveWorkbook. أوراق العمل Ws.Cells.ClearContents التالي Ws End Sub
يمكنك تنزيل نموذج VBA Clear Contents Excel من هنا - قالب VBA Clear Contents