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
عند تشغيل الكود ستحصل على النتيجة على النحو التالي.