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

Hogyan lehet elrejteni a sorokat, ha üres cellák vannak egy oszlopban?

Ha van olyan adattartománya, amely néhány üres cellát tölt be egy oszlopban, most automatikusan el akarja rejteni azokat a sorokat, amelyek az üres cellákat tartalmazzák. Vannak jó módszerek ennek a feladatnak az Excel gyors és egyszerű megoldására?

Sorok automatikus elrejtése, ha üres cellák vannak egy VBA kóddal ellátott oszlopban


nyíl kék jobb buborék Sorok automatikus elrejtése, ha üres cellák vannak egy VBA kóddal ellátott oszlopban

A következő kód segíthet az összes sor elrejtésében, ha egy adott oszlopban egyszerre üres cellák vannak, és ha törli a cellatartalmat ebben az oszlopban, akkor a sorok is automatikusan el lesznek rejtve. Kérjük, tegye a következőket:

1. Kattintson a jobb gombbal azon a lapfülön, amelyen automatikusan el akarja rejteni a sorokat, ha üres cellák vannak egy oszlopban, majd válassza a lehetőséget Kód megtekintése a helyi menüből, a kiugrottban Microsoft Visual Basic for Applications ablakba, kérjük, másolja és illessze be a következő kódot az üresbe Modulok:

VBA kód: Sorok automatikus elrejtése, ha egy oszlop üres cellákat tartalmaz:

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 automatikus elrejtése 1. sor

Megjegyzések: A fenti kódban A1: A20 az adatlista, amely tartalmazza az automatikusan elrejteni kívánt üres cellákat.

2. Ezután térjen vissza a munkalapra, és most, amikor duplán kattint bármely cellára, és megnyomja a gombot belép kulcs, az A oszlop üres celláit tartalmazó sorokat egyszerre rejtették el, és ha törli a cellatartalmat az A oszlop megadott celláiban, a sorok automatikusan el lesznek rejtve.

doc automatikus elrejtése 2. sor

 


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja

 

A megjegyzések rendezése szerint
Hozzászólások (32)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, Excel 2016-ot használok, és nem működik. Sintax hibaüzenetet kapok. tud segíteni?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Hangya,

A fenti kód jól működik az Excel 2016-ban, módosította a kódban a cellahivatkozást az igényeinek megfelelően?
A weboldal moderátora ezt a megjegyzést minimalizálta
„13” futásidejű hibát kapok:



Típus hibás



Valaki aki tud segíteni???
A weboldal moderátora ezt a megjegyzést minimalizálta
Leállíthatom ennek a makrónak az automatikus futtatását az enter lenyomása után? Csatolhatnám egy gombhoz, hogy csak kattintáskor rejtsem el a cellákat?
A weboldal moderátora ezt a megjegyzést minimalizálta
kitalálta ezt valaha valaki? én is szeretném tudni.
A weboldal moderátora ezt a megjegyzést minimalizálta
valaki találta már a választ?
A weboldal moderátora ezt a megjegyzést minimalizálta
itt is ugyanaz a kérdés
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló srácok,
Ha egy adott oszlopban üres cellákat tartalmazó sorokat szeretne elrejteni egy gombbal, tegye a következőket:
Először is be kell illesztenie egy parancsgombot a Fejlesztő lapról.
Ezután alkalmazza a következő VBA-kódot a parancsgombhoz (Megjegyzés: kérjük, módosítsa az a1:a20 cellahivatkozást a sajátjára)

Privát Sub CommandButton1_Click ()
Dim rng As Range, x As Range
Set rng = Tartomány("a1:a20")
Application.ScreenUpdating = Hamis
Minden x In rng
Ha Len(x.Szöveg) = 0 Akkor
x.EntireRow.Hidden = Igaz
Más
x.EntireRow.Hidden = Hamis
Ha véget
Következő x
Application.ScreenUpdating = Igaz
End Sub

Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
hogyan lehet automatikusan elrejteni a sorokat, ha üres cellák vannak 2 különböző oszlopban VBA kóddal
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Salpe
A sorok automatikus elrejtéséhez, ha 2 különböző oszlop üres cellái vannak, használja a következő kódot:

Private Sub Worksheet_Change (ByVal Target mint Range)
Dim xRg, xCell As Range
Dim xRgs, xRgArea As Range
Set xRgs = Tartomány("A1:A22,D1:D22")
Application.ScreenUpdating = Hamis
Hiba esetén GoTo Ctn
Minden xRgArea-hoz Az xRgs.Areas-ban
Debug.Print xRgArea.Address
Minden xRg In xRgArea.Columns esetén
Minden xCell In xRg.Rows esetén
Ha xCell.Value = "" Akkor
xCell.EntireRow.Hidden = Igaz
GoTo Ctn
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = Hamis
Ha véget
Ctn:
Következő
Következő
Következő
Application.ScreenUpdating = Igaz
End Sub

A cellahivatkozásokat igény szerint módosíthatja.
Próbáld ki!
A weboldal moderátora ezt a megjegyzést minimalizálta
بم الله وجزاكم الله خرا هذا الكود رائع ولكن حن قمت ب كود حذف الصف ال؟ ؟ل اا ال؟ ال ال؟ ؟ل ال ال ال ال ال؟ ال؟ الش الش الش الش ا született
A weboldal moderátora ezt a megjegyzést minimalizálta
Érdeklődni szeretnék, hogy működni fog-e a kód, ha a cella a képlet hatására üres?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia ACHINTA!
A fenti VBA kód a képlet hatására az üres cellákra is rákerül, kipróbálhatod, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
A képlet úgy működik, hogy az elején információ alapján elrejti a cellákat, de nem fedi fel újra a cellákat, ha a tartalom megváltozik. Azt akarom, hogy felfedjen minden olyan új cellát, amely tele van információval (ami cellakeresés révén történik). Hogyan csináljam ezt?
A weboldal moderátora ezt a megjegyzést minimalizálta
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.

Köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Valami ilyesmit szeretnék, hogy működjön az aktív lapon:

Ha a D2:D55 cellák = ""
Majd Hide.EntireRow

Ha a D2:D55 cellák = "bármilyen értéke van"
Ezután Show.EntireRow

Hogyan?
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, Kacha! Csak módosítania kell a kódban lévő cellahivatkozást a saját cellatartományára az alábbiak szerint: Private Sub Worksheet_Change (ByVal Target As Range)
'Frissítés által Extendoffice
Dim xrg mint tartomány
Application.ScreenUpdating = Hamis
Minden xRg In Range ("D2:D55")
Ha xRg.Value = "" Akkor
xRg.EntireRow.Hidden = Igaz

Más
xRg.EntireRow.Hidden = Hamis
Ha véget
Következő xRg
Application.ScreenUpdating = Igaz
End SubA kód beillesztése után ne felejtsen el duplán kattintani bármelyik cellára, és nyomja meg az Enter billentyűt, hogy a kód érvénybe lépjen.
A weboldal moderátora ezt a megjegyzést minimalizálta
Mi a legegyszerűbb módja az automatikus elrejtés visszavonásának?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, mình có dùng 2 kód trong 1 excel fájl (1 kód là của bạn) với mục đích in ra những bản riêng biệt và không bị dònga thng. Khi mình ấn in từng bản thì ok nhưng nếu in 1 loạt thì kód Hide không có tác dụng, bạn xem giúp mình với nmhh, mình nhnhh!

Sub PRINT_PRINT()
Dim rng As Range, x As Range
Set rng = Tartomány("a16:a23")
Application.ScreenUpdating = Hamis
Minden x In rng
Ha Len(x.Szöveg) = 0 Akkor
x.EntireRow.Hidden = Igaz
Más
x.EntireRow.Hidden = Hamis
Ha véget
Következő x
Application.ScreenUpdating = Igaz


halvány p1, p2, i&
p1 = Lap1.Tartomány("O1").Érték
p2 = Lap1.Tartomány("O2").Érték
Ha IsNumeric(p1) = Hamis Vagy IsNumeric(p2) = Hamis Akkor
tb = MsgBox("So code phai la so.", , "Thông báo")
Exit Sub
Ha véget
Ha p1 > p2 Akkor
tb = MsgBox("So code sau phai >= so code truoc.", , "Thông báo")
Exit Sub
Ha véget
Ha p1 < 1 Vagy p2 < 1 Akkor
tb = MsgBox("Tehát kód phai >= 1.", , "Thông báo")
Exit Sub
Ha véget
Ha p1 <= p2 Akkor
Ha i = p1 - p2
Lap1.Tartomány("M2").Érték = i
1. lap.Nyomtatás
Következő
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Hola,Necesito crear una macro que me oculte una columna.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 código, pero no se en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = Hamis
Minden rango oszlopban
Ha rango = "" Akkor
rango.EntireColumn.Hidden = Igaz
Más
rango.EntireColumn.Hidden = False
Ha véget
Következő rango
Application.ScreenUpdating = Igaz
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez remekül működik számomra, elrejti a sorokat, és megnyitja őket, ha az értékeim képletek alapján változnak. Az a kérdésem, hogy a lapom 104 soros. Valahányszor egy cellára kattintok, egy kicsit felkavar. Meg lehet gyorsítani az átmenetet, ha aktiválva van? Vagy az én számítógépem? Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szeretném automatikusan elrejteni a sorokat, ha az E oszlop üres vagy 0
A weboldal moderátora ezt a megjegyzést minimalizálta
Ha az E oszlop értéke üres vagy 0, akkor szeretném, ha a sor automatikusan elrejtődne. Ha az E-ben lévő érték nem üresre vagy 0-ra változik, akkor szeretném megjeleníteni. A jelentés 1500 soros
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Cathy,
A sorok automatikus elrejtéséhez üres cellák vagy 0 értékek alapján használja az alábbi vba kódot:
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


Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan lehet elrejteni a jelölőnégyzetet tartalmazó sort?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Sweta

A jelölőnégyzetes sorok elrejtéséhez az alábbi cikk tehet egy szívességet:
Hogyan lehet elrejteni a jelölőnégyzetet, ha a sor el van rejtve az Excelben?

Kérjük, próbálja ki, ha van még kérdése, kérjük, írja meg itt.
A weboldal moderátora ezt a megjegyzést minimalizálta
Amikor végrehajtja a kódot az Office 2013/2019/2021 verziójában, az működik, de túl sok időt vesz igénybe a befejezés (csak 95 sor elrejtése).
Hogyan lehet ezt gyorsítani?
Köszönjük!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Asaf,
A kód jól működik az Excel fájlomban, fel tudnád tölteni ide a csatolt munkafüzetedet, ha nem bánod? Hogy segíthessünk a probléma ellenőrzésében.

Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Nurjanah
A probléma megoldásához először el kell rejteni az üres sorokat, majd ki kell nyomtatni az adatokat, az adatok kinyomtatása után újra fel kell tüntetni az üres sorokat. Kérjük, tegye a következőket:
1. Alkalmazza ezt a képletet: =COUNTA(A2:E2) az adatok mellé, lásd a képernyőképet:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Ezután szűrje ki az új segítőt Üres oszlop, rejtse el az összes 0 értéksort, lásd a képernyőképet:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. Ezután el kell rejtenie az új Üres oszlopot, és ki kell nyomtatnia az adatokat. A munkalap kinyomtatása után törölje a szűrőt az üres sorok szükség szerinti felfedéséhez.
Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, problémáim vannak a makró "automatizálásával". Keresem a módját, hogy a kód automatizált folyamatként működjön, a makró „kézi” futtatása nélkül. a kódjának saját változatát használtam, mert problémákat találtam a kód használatával. Ez az én variánsom:

Sub HideRows()
Dim xrg mint tartomány
Application.ScreenUpdating = Hamis
Minden xRg In Range ("A3:A800")
If (xRg.Value = "") Akkor
xRg.EntireRow.Hidden = Igaz
Más
xRg.EntireRow.Hidden = Hamis
Ha véget
Következő xRg
Application.ScreenUpdating = Igaz
End Sub

Olyan táblázatot próbálok készíteni, amely állandóan változó értékeket igényel, ezért valódi "automatizált" folyamatot igényel. Viszonylag új vagyok a VBA-ban, és ha a kódja már megfelel a követelményeimnek, segítene/megtanítana VBA-ban alkalmazni? Kösz.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Vian
Valójában a cikkünkben található kód automatikusan futtatható.
Másolja és illessze be a kódot az aktuális munkalap kódmoduljába, majd térjen vissza a munkalaphoz, kattintson duplán bármelyik cellára, és nyomja meg a belép gombot, az üres cellát tartalmazó sor közvetlenül el van rejtve.

Kérjük, kövesse a cikkben leírt módszert lépésről lépésre, remélem segíthet!
Köszönöm!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi