Note: The other languages of the website are Google-translated. Back to English

Jak automaticky skrýt řádky, pokud jsou prázdné buňky ve sloupci?

Pokud máte řadu dat, která naplňují některé prázdné buňky ve sloupci, a nyní chcete automaticky skrýt řádky, které obsahují prázdné buňky v daném sloupci. Existují nějaké dobré způsoby, jak vyřešit tuto práci v aplikaci Excel rychle a snadno?

Automaticky skrýt řádky, pokud jsou prázdné buňky ve sloupci s kódem VBA


šipka modrá pravá bublina Automaticky skrýt řádky, pokud jsou prázdné buňky ve sloupci s kódem VBA

Následující kód vám může pomoci skrýt všechny řádky, pokud jsou prázdné buňky v konkrétním sloupci najednou, a pokud odstraníte obsah buňky v tomto sloupci, řádky se také automaticky skryjí. Postupujte prosím následovně:

1. Klikněte pravým tlačítkem na kartu listu, který chcete automaticky skrýt řádky, pokud jsou ve sloupci prázdné buňky, a poté vyberte Zobrazit kód z kontextové nabídky ve vyskakovacím okně Microsoft Visual Basic pro aplikace zkopírujte a vložte následující kód do mezery Modul:

Kód VBA: Automatické skrytí řádků, pokud jsou prázdné buňky ve sloupci:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc automaticky skrýt řádky 1

Poznámka: Ve výše uvedeném kódu, A1: A20 je seznam dat, který obsahuje prázdné buňky, které chcete automaticky skrýt.

2. Pak se vraťte zpět do listu a nyní, když dvakrát kliknete na libovolnou buňku a stisknete vstoupit klíč, řádky, které obsahují prázdné buňky ve sloupci A, byly skryty najednou, a pokud vymažete jakýkoli obsah buněk ve specifikovaných buňkách ve sloupci A, řádky se automaticky skryjí.

doc automaticky skrýt řádky 2

 


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno

 

Komentáře (32)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Ahoj, používám excel 2016 a nefunguje mi. Zobrazuje se mi chybová zpráva sintax. můžete pomoci?
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Ant,

Výše uvedený kód funguje dobře v mém Excelu 2016, změnili jste odkaz na buňku v kódu podle svých potřeb?
Tento komentář byl moderátorem webu minimalizován
Zobrazuje se mi chyba Runtime '13':



Neshoda typu



Někdo kdo může pomoci???
Tento komentář byl moderátorem webu minimalizován
Mohu zastavit automatické spouštění tohoto makra po stisknutí klávesy Enter? Mohu jej připojit k tlačítku, aby se buňky skryly pouze po kliknutí?
Tento komentář byl moderátorem webu minimalizován
přišel na to někdy někdo? Taky bych to rád věděl.
Tento komentář byl moderátorem webu minimalizován
už někdo přišel s odpovědí?
Tento komentář byl moderátorem webu minimalizován
stejná otázka zde
Tento komentář byl moderátorem webu minimalizován
Ahoj hoši,
Chcete-li pomocí tlačítka skrýt řádky, které určitý sloupec obsahuje prázdné buňky, postupujte takto:
Nejprve byste měli vložit příkazové tlačítko z karty Vývojář.
A poté použijte následující kód VBA pro příkazové tlačítko (Poznámka: změňte odkaz na buňku a1:a20 na svůj vlastní)

Private Sub CommandButton1_Click ()
Dim rng As Range, x As Range
Nastavit rng = rozsah("a1:a20")
Application.ScreenUpdating = False
Pro každé x v rng
Pokud Len(x.Text) = 0 Pak
x.EntireRow.Hidden = Pravda
Jiný
x.EntireRow.Hidden = False
End If
Další x
Application.ScreenUpdating = True
End Sub

Zkuste to, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
jak automaticky skrýt řádky, pokud jsou prázdné buňky ve 2 různých sloupcích s kódem VBA
Tento komentář byl moderátorem webu minimalizován
Ahoj salpe,
Chcete-li automaticky skrýt řádky, pokud jsou prázdné buňky ve 2 různých sloupcích, použijte následující kód:

Soukromá dílčí tabulka_Změna (ByVal Target As Range)
Dim xRg, xCell As Range
Dim xRgs, xRgArea jako rozsah
Nastavit xRgs = Range("A1:A22,D1:D22")
Application.ScreenUpdating = False
Při chybě GoTo Ctn
Pro každý xRgArea V xRgs.Areas
Debug.Print xRgArea.Address
Pro každý xRg v xRgArea.Columns
Pro každý xCell v xRg.Rows
Pokud xCell.Value = "" Pak
xCell.EntireRow.Hidden = Pravda
Přejít na Ctn
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = False
End If
Ctn:
další
další
další
Application.ScreenUpdating = True
End Sub

Odkazy na buňky můžete změnit podle svých potřeb.
Zkuste to!
Tento komentář byl moderátorem webu minimalizován
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف يبطأ الشيت بطريقة طويلة جدا فما العمل?
Tento komentář byl moderátorem webu minimalizován
Chci vědět, zda bude kód fungovat, pokud je buňka prázdná v důsledku vzorce?
Tento komentář byl moderátorem webu minimalizován
Dobrý den, ACHINTA,
Výše uvedený kód VBA je také použit na prázdné buňky jako výsledek vzorce, můžete to zkusit, děkujeme!
Tento komentář byl moderátorem webu minimalizován
Vzorec funguje tak, že na začátku skryje buňky na základě informací, ale neobjeví buňky znovu, pokud se změní jejich obsah. Chci, aby odhalil všechny nové buňky, které byly naplněny informacemi (k čemuž dochází prostřednictvím vyhledávání buněk). Jak to udělám?
Tento komentář byl moderátorem webu minimalizován
Bom dia, esta é minha necessidade também.

Preciso ocultar e quando a célula for preenchida (uso uma fórmula que preenche a mesma se houver valor em outra planilha) seja reexibida a linha novamente de forma automática.

Vděčný.
Tento komentář byl moderátorem webu minimalizován
Chci, aby něco takového fungovalo v aktivním listu:

Pokud buňky D2:D55 = ""
Poté Hide.EntireRow

Pokud buňky D2:D55 = "má jakoukoli hodnotu"
Poté Show.EntireRow

Jak?
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Kacha, stačí změnit odkaz na buňku v kódu na svůj vlastní rozsah buněk, jak je uvedeno níže: Private Sub Worksheet_Change (ByVal Target As Range)
'Aktualizovat Extendoffice
Dim xRg jako rozsah
Application.ScreenUpdating = False
Pro každý xRg v rozsahu ("D2:D55")
Pokud xRg.Value = "" Pak
xRg.EntireRow.Hidden = Pravda

Jiný
xRg.EntireRow.Hidden = False
End If
Další xRg
Application.ScreenUpdating = True
End SubPo vložení kódu nezapomeňte dvakrát kliknout na libovolnou buňku a stisknout klávesu Enter, aby se kód projevil.
Tento komentář byl moderátorem webu minimalizován
Jaký je nejjednodušší způsob, jak zrušit automatické skrývání?
Tento komentář byl moderátorem webu minimalizován
Ahoj, mình có dùng 2 code trong 1 file excel (1 code là của bạn) với mục đích in ra những bản riêng biệt và không bị thừng trong Khi mình ấn in từng bản thì ok nhưng nếu in 1 loạt thì code Skrýt không có tác dụng, bạn xem giúp mình vỡm!nhé,ƣư!

Díl PRINT_PRINT()
Dim rng As Range, x As Range
Nastavit rng = rozsah("a16:a23")
Application.ScreenUpdating = False
Pro každé x v rng
Pokud Len(x.Text) = 0 Pak
x.EntireRow.Hidden = Pravda
Jiný
x.EntireRow.Hidden = False
End If
Další x
Application.ScreenUpdating = True


Ztlumit p1, p2, i&
p1 = List1.Rozsah("O1").Hodnota
p2 = List1.Rozsah("O2").Hodnota
If IsNumeric(p1) = False Nebo IsNumeric(p2) = False Pak
tb = MsgBox("So code phai la so.", , "Thông báo")
Konec Sub
End If
Pokud p1 > p2 Pak
tb = MsgBox("So code sau phai >= so code truoc.", , "Thông báo")
Konec Sub
End If
Pokud p1 < 1 Nebo p2 < 1 Pak
tb = MsgBox("So code phai >= 1.", , "Thông báo")
Konec Sub
End If
Jestliže p1 <= p2 Pak
Pro i = p1 až p2
List1.Rozsah("M2").Hodnota = i
List1.Vytisknout
další
End If
End Sub
Tento komentář byl moderátorem webu minimalizován
Dobrý den, musíte vytvořit makro, které je okultní na sloupu. Sería así: en la primera fila poner un 1 a las columnas que no quiero ocultar y no poner ningún valor a las columnas que quiero ocultar. Estoy haciendo el siguiente kódigo, pero no se en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = False
Pro každé rango ve sloupcích
Pokud rango = "" Pak
rango.EntireColumn.Hidden = Pravda
Jiný
rango.EntireColumn.Hidden = False
End If
Další rango
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
To pro mě funguje skvěle, skryje řádky a otevře je, když se moje hodnoty změní na základě vzorců. Mám otázku, že můj list má 104 řádků. Pokaždé, když kliknu na buňku, trochu to škubne. Nějaký způsob, jak urychlit přechod, když je aktivován? Nebo je to můj počítač? Díky!
Tento komentář byl moderátorem webu minimalizován
Chtěl bych automaticky skrýt řádky, pokud je sloupec E prázdný nebo 0
Tento komentář byl moderátorem webu minimalizován
Pokud je hodnota ve sloupci E prázdná nebo 0, chtěl bych, aby se řádek automaticky skryl. Pokud se hodnota v E změní na něco jiného než prázdné nebo 0, chtěl bych to zobrazit. Přehled má 1500 řádků
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Cathy,
Chcete-li automaticky skrýt řádky na základě prázdných buněk nebo hodnot 0, použijte níže uvedený kód vba:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Jak skrýt řádek, který obsahuje zaškrtávací políčko?
Tento komentář byl moderátorem webu minimalizován
Ahoj Sweta

Chcete-li skrýt řádky pomocí zaškrtávacího políčka, může vám pomoci následující článek:
Jak skrýt zaškrtávací políčko, když je řádek v aplikaci Excel skrytý?

Zkuste to prosím, pokud máte ještě nějaké další otázky, napište sem.
Tento komentář byl moderátorem webu minimalizován
Při provádění kódu v Office 2013/2019/2021 to funguje, ale jeho dokončení trvá příliš dlouho (skrytí pouze 95 řádků).
Jak to můžete urychlit?
Díky!
Tento komentář byl moderátorem webu minimalizován
Ahoj Asaf,
Kód funguje dobře v mém souboru Excel, mohl byste sem nahrát svůj přílohový sešit, pokud vám to nevadí? Abychom vám pomohli problém zkontrolovat.

Děkuji!
Tento komentář byl moderátorem webu minimalizován
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
Tento komentář byl moderátorem webu minimalizován
Ahoj, Nurjanah
Chcete-li svůj problém vyřešit, nejprve byste měli skrýt prázdné řádky a poté vytisknout data. Po vytištění dat musíte prázdné řádky znovu zobrazit. Postupujte prosím takto:
1. Použijte tento vzorec: =COUNTA(A2:E2) vedle vašich dat, viz snímek obrazovky:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Poté vyfiltrujte nový pomocný prázdný sloupec, skryjte všech 0 řádků hodnot, viz snímek obrazovky:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. Poté byste měli skrýt nový prázdný sloupec a vytisknout data. Po vytištění listu zrušte filtr, aby se prázdné řádky podle potřeby odkryly.
Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Ahoj, mám problém s "automatizací" makra. Hledám způsob, jak by kód fungoval jako automatizovaný proces bez nutnosti „ručního“ spouštění makra. Použil jsem svou vlastní variantu vašeho kódu, protože jsem našel problémy s použitím vašeho kódu. Toto je moje varianta:

Sub HideRows()
Dim xRg jako rozsah
Application.ScreenUpdating = False
Pro každý xRg v rozsahu ("A3:A800")
If (xRg.Value = "") Potom
xRg.EntireRow.Hidden = Pravda
Jiný
xRg.EntireRow.Hidden = False
End If
Další xRg
Application.ScreenUpdating = True
End Sub

Snažím se vytvořit tabulku, která vyžaduje neustále se měnící hodnoty, a proto by vyžadovala skutečný "automatizovaný" postup. Jsem relativně nový ve VBA a pokud váš kód již skutečně splňuje mé požadavky, nevadilo by vám pomoci/naučit mě jej použít ve VBA? Dík.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Vian
Ve skutečnosti lze kód v našem článku spustit automaticky.
Musíte zkopírovat a vložit kód do modulu kódu aktuálního listu, poté se vrátit do listu, dvakrát kliknout na libovolnou buňku a stisknout klávesu vstoupit klíč, řádek obsahující prázdnou buňku bude přímo skrytý.

Postupujte podle pokynů v tomto článku krok za krokem, doufáme, že vám to pomůže!
Děkuji!
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL