Skrýt sloupce VBA | Jak skrýt sloupce pomocí kódu VBA?

Skrýt sloupce aplikace Excel VBA

Skrytí je jednoduchá věc, ale zde musíte pochopit koncept. Chcete-li skrýt sloupec pomocí VBA, musíme určit, který sloupec musíme skrýt. Chcete-li určit sloupec, který se má skrýt, musíme použít objekt RANGE.

Rozsah („A: A“)

Pak musíme použít vlastnost „Celý sloupec“.

Rozsah ("A: A"). EntireColumn

Ve vlastnosti celého sloupce musíme použít vlastnost „Skryté“.

Rozsah ("A: A"). EntireColumn.Hidden

Nakonec musíme nastavit Hidden vlastnost na TRUE.

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

Tím se skryje sloupec A.

Jak skrýt sloupce ve VBA?

Sloupce můžeme skrýt několika způsoby. Sloupec můžeme skrýt pomocí objektu Range pomocí vlastnosti CELLS. Na základě metody, kterou používáme, musíme vytvořit náš kód VBA.

Tuto šablonu Excel Skrýt sloupce VBA si můžete stáhnout zde - Šablona Excel Skrýt sloupce VBA

Příklad č. 1 - Skrýt pomocí Range objektu

Pokud chcete skrýt konkrétní sloupec, zadejte sloupec uvnitř objektu RANGE. Podívejte se na níže uvedená data.

Nyní skryjeme celý sloupec A pomocí následujícího kódu.

Kód:

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

Když tedy spustíme kód, získáme následující výsledek.

Příklad č. 2 - Skrýt pomocí vlastnosti Sloupce

Pokud chcete skrýt sloupec pomocí vlastnosti Columns, pak níže uvedený kód je pro vás.

Kód:

 Sub Range_Hide () Columns ("B"). Hidden = True End Sub 

Tím se skryje sloupec B. Zde si musíte myslet, kde je vlastnost Celý sloupec. Když použijete vlastnost Sloupce, není nutné použít vlastnost Celý sloupec.

Vlastnost Celý sloupec můžeme stále používat, ale není to nezbytně nutné. A kód pro stejný je uveden níže.

Kód:

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

To by také mělo fungovat dobře.

Místo abecedního odkazu můžeme použít také číslo sloupce. A kód pro stejný je uveden níže.

Kód:

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

Tím se skryje sloupec D.

Příklad č. 3 - Skrýt více sloupců

Můžeme také skrýt více sloupců najednou. Za tímto účelem musíme zmínit první a poslední sloupec, takže mezi nimi bude také skrytý sloupec. Pro stejná data jako v příkladu 1 použijte následující kód ke skrytí více sloupců.

Kód:

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

Tím se skryjí sloupce A až C.

Následující kód můžeme použít také ke skrytí více sloupců v aplikaci Excel VBA.

Kód:

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

Výše uvedené metody skryjí první tři sloupce, tj. A, B a C.

Příklad č. 4 - Skrýt sloupce s jednou buňkou

Můžeme také skrýt sloupec na základě odkazu na jednu buňku. Abychom sloupec skryli, nemusíme uvádět celý odkaz na sloupec. Pouze s jediným odkazem na buňku bychom měli být schopni skrýt sloupec.

Kód:

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

Tím se skryje celý sloupec A.

Příklad č. 5 - Skrýt všechny alternativní sloupce

Předpokládejme, že máte data podobná obrázku níže.

Musíme skrýt všechny alternativní sloupce, které jsou prázdné. Aby se to stalo, musíme použít smyčky, níže uvedený kód provede práci za nás.

Kód:

 Sub AlternativeColumn_Hide () Dim k As Integer For k = 1 To 7 Cells (1, k + 1) .EntireColumn.Hidden = True k = k + 1 Další k End Sub 

Tím se skryje každý alternativní sloupec.

Příklad č. 6 - Skrýt každý prázdný sloupec

V předchozím příkladu byly všechny ostatní alternativní sloupce prázdné, které jsme snadno skryli. Podívejte se ale na níže uvedená data.

Zde vzor prázdných sloupců není standardní. V těchto případech níže kód skryje všechny prázdné sloupce, nezáleží na tom, jaký je vzor.

Kód:

 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 

Po spuštění kódu získáte výsledek následujícím způsobem.

Příklad č. 7 - Skrýt sloupce na základě hodnoty buňky

Nyní uvidíme, jak skrýt sloupec na základě hodnoty buňky. Například se podívejte na níže uvedená data.

Tady chci skrýt všechny sloupce, pokud je nadpis „Ne“. Níže uvedený kód to udělá za mě.

Kód:

 Sub Column_Hide_Cell_Value () Dim k As Integer For k = 1 To 7 If Cells (1, k) .Value = "No" Then Columns (k) .Hidden = True End If Next k End Sub 

Po spuštění kódu získáte výsledek následujícím způsobem.


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