VBA إخفاء الأعمدة | كيف تخفي الأعمدة باستخدام كود فبا؟

إخفاء الأعمدة في Excel VBA

الاختباء هو الشيء البسيط ولكن عليك أن تفهم المفهوم هنا. لإخفاء العمود باستخدام VBA ، نحتاج إلى تحديد العمود الذي نحتاج إلى إخفائه. لتحديد العمود الذي سيتم إخفاؤه ، نحتاج إلى استخدام كائن RANGE.

النطاق ("أ: أ")

ثم نحتاج إلى استخدام الخاصية "العمود بأكمله".

النطاق ("A: A"). EntireColumn

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

النطاق ("A: A"). EntireColumn.Hidden

ثم ، أخيرًا ، نحتاج إلى ضبط الخاصية Hidden على TRUE.

Range ("A: A"). EntireColumn.Hidden = TRUE 

سيؤدي هذا إلى إخفاء العمود A.

كيفية إخفاء الأعمدة في VBA؟

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

يمكنك تنزيل VBA Hide Columns Excel Template هنا - VBA Hide Columns Excel Template

مثال # 1 - إخفاء باستخدام Range Object

إذا كنت تريد إخفاء عمود معين ، فحدد العمود داخل كائن RANGE. انظر إلى البيانات أدناه.

الآن سنخفي العمود A بأكمله باستخدام الكود التالي.

رمز:

 Range_Hide () نطاق فرعي ("A: A"). EntireColumn.Hidden = True End Sub 

لذلك عندما نقوم بتشغيل الكود ، سنحصل على النتيجة التالية.

مثال # 2 - إخفاء باستخدام خاصية الأعمدة

إذا كنت ترغب في إخفاء العمود باستخدام خاصية الأعمدة ، فإن الكود أدناه يناسبك.

رمز:

 أعمدة Range_Hide () فرعية ("B"). مخفية = True End Sub 

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

لا يزال بإمكاننا استخدام خاصية العمود بالكامل ولكنها ليست مطلوبة بالضرورة. ويرد رمز لنفسه أدناه.

رمز:

 Sub Columns_Hide () Columns ("B"). EntireColumn.Hidden = True End Sub 

هذا أيضا يجب أن يعمل بشكل جيد.

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

رمز:

 Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub 

سيؤدي هذا إلى إخفاء العمود د.

مثال # 3 - إخفاء الأعمدة المتعددة

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

رمز:

 Sub Columns_Hide () Range ("A: C"). EntireColumn.Hidden = True End Sub 

سيؤدي هذا إلى إخفاء العمود A إلى C.

يمكننا استخدام الكود التالي أيضًا لإخفاء عدة أعمدة في Excel VBA.

رمز:

 Sub Multi_Columns_Hide () Columns ("A: C"). EntireColumn.Hidden = True End Sub 

ستخفي الطرق المذكورة أعلاه الأعمدة الثلاثة الأولى مثل A و B و C.

مثال # 4 - إخفاء الأعمدة ذات الخلية المفردة

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

رمز:

 Sub Single_Hide () Range ("A5"). EntireColumn.Hidden = True End Sub 

سيؤدي هذا إلى إخفاء العمود بالكامل A.

مثال # 5 - إخفاء كل عمود بديل

افترض أن لديك بيانات مثل الصورة أدناه.

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

رمز:

 Sub AlternativeColumn_Hide () Dim k كعدد صحيح لـ k = 1 إلى 7 خلايا (1، k + 1) .EntireColumn.Hidden = True k = k + 1 Next k End Sub 

سيؤدي هذا إلى إخفاء كل عمود بديل.

مثال # 6 - إخفاء كل عمود فارغ

في المثال السابق ، كان كل عمود بديل آخر فارغًا قمنا بإخفائه بسهولة. لكن انظر إلى البيانات أدناه.

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

رمز:

 Sub Column_Hide1 () Dim k as Integer For k = 1 To 11 If Cells (1، k) .Value = "" then Columns (k) .Hidden = True End If Next k End Sub 

عند تشغيل الكود ستحصل على النتيجة على النحو التالي.

مثال # 7 - إخفاء الأعمدة على أساس قيمة الخلية

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

هنا أريد إخفاء جميع الأعمدة إذا كان العنوان "لا". أدناه رمز سيفعل ذلك من أجلي.

رمز:

 Sub Column_Hide_Cell_Value () Dim k كـ عدد صحيح لـ k = 1 إلى 7 If Cells (1، k) .Value = "No" ثم الأعمدة (k) .Hidden = True End If Next k End Sub 

عند تشغيل الكود ستحصل على النتيجة على النحو التالي.


$config[zx-auto] not found$config[zx-overlay] not found