Skrýt sloupce aplikace Excel VBA
Skrytí je jednoduchá věc, ale zde musíte pochopit tento 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.
Příklad č. 1 - Skrýt pomocí Range objektu
Chcete-li 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 je níže uvedený kód 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. Musíme zmínit první a poslední sloupec, aby byl mezi nimi také skryt. 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, něco jako obrázek níže.

We need to hide every alternative column, which is blank. We need to use loops; the below code will do the job for us.
Code:
Sub AlternativeColumn_Hide() Dim k As Integer For k = 1 To 7 Cells(1, k + 1).EntireColumn.Hidden = True k = k + 1 Next k End Sub

This will hide every alternate column.

Example #6 - Hide Every Empty Column
In the previous example, every other alternative column was blank; we have hidden easily. But look at the below data.

Here empty columns pattern is not standard. In these cases, the below code will hide all the empty columns. It doesn’t matter what the pattern is.
Code:
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

When you run the code, you will get the result as follows.

Example #7 - Hide Columns Based On Cell Value
Nyní uvidíme, jak skrýt sloupce na základě hodnoty buňky. Podívejte se například 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

Když spustíte kód, získáte výsledek následujícím způsobem.
