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 VBAPří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.