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

Kako samodejno skriti vrstice, če so v stolpcu prazne celice?

Če imate obseg podatkov, ki zapolni nekaj praznih celic v stolpcu, in zdaj želite vrstice, ki vsebujejo prazne celice v tem stolpcu, samodejno skriti. Ali obstajajo dobri načini za hitro in enostavno reševanje tega dela v Excelu?

Samodejno skrij vrstice, če so prazne celice v stolpcu s kodo VBA


puščica modri desni mehurček Samodejno skrij vrstice, če so prazne celice v stolpcu s kodo VBA

Naslednja koda vam lahko pomaga pri skrivanju vseh vrstic, če so v določenem stolpcu naenkrat prazne celice, in če izbrišete vsebino celice v tem stolpcu, bodo tudi vrstice samodejno skrite. Naredite naslednje:

1. Z desno miškino tipko kliknite zavihek lista, ki ga želite samodejno skriti, če so v stolpcu prazne celice, in nato izberite Ogled kode iz kontekstnega menija v izpuščenem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazno Moduli:

Koda VBA: Samodejno skrij vrstice, če so prazne celice v stolpcu:

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 samodejno skrij vrstice 1

Opombe: V zgornji kodi, A1: A20 je seznam podatkov, ki vsebuje prazne celice, ki jih želite samodejno skriti.

2. Nato se vrnite na delovni list in zdaj, ko dvokliknete katero koli celico in pritisnete Vnesite ključ, vrstice, ki vsebujejo prazne celice v stolpcu A, so bile naenkrat skrite in če počistite vsebino celic v določenih celicah stolpca A, bodo vrstice samodejno skrite.

doc samodejno skrij vrstice 2

 


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize

 

Komentarji (32)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, uporabljam excel 2016 in ne deluje. Dobim sporočilo o sintaksični napaki. lahko pomagate?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Ant,

Zgornja koda dobro deluje v mojem Excelu 2016, ali ste spremenili referenco celice v kodi glede na vaše potrebe?
Ta komentar je moderator na spletnem mestu minimiziral
Dobim napako med izvajanjem ´13´:



Vtipkajte neusklajenost



Lahko kdo pomaga???
Ta komentar je moderator na spletnem mestu minimiziral
Ali lahko ustavim, da se ta makro samodejno izvaja po pritisku enter? Ali ga lahko pritrdim na gumb, da skrijem celice samo, ko kliknem?
Ta komentar je moderator na spletnem mestu minimiziral
je že kdo to ugotovil? tudi jaz bi rad vedel.
Ta komentar je moderator na spletnem mestu minimiziral
je že kdo prišel do odgovora?
Ta komentar je moderator na spletnem mestu minimiziral
isto vprašanje tukaj
Ta komentar je moderator na spletnem mestu minimiziral
Živjo družba,
Če želite z gumbom skriti vrstice, v katerih določen stolpec vsebuje prazne celice, naredite to:
Najprej morate vstaviti ukazni gumb z zavihka Razvijalec.
Nato uporabite naslednjo kodo VBA za ukazni gumb (Opomba: spremenite referenco celice a1:a20 v svojo)

Zasebni podukazni gumb1_Klik()
Dim rng As Range, x As Range
Nastavi rng = obseg ("a1:a20")
Application.ScreenUpdating = Napačno
Za vsak x In rng
Če je Len(x.Text) = 0 Potem
x.EntireRow.Hidden = Res
Else
x.EntireRow.Hidden = False
Konec Če
Naprej x
Application.ScreenUpdating = Res
End Sub

Prosim, poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
kako samodejno skriti vrstice, če so prazne celice v 2 različnih stolpcih s kodo VBA
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, salpe,
Če želite samodejno skriti vrstice, če so prazne celice v dveh različnih stolpcih, uporabite naslednjo kodo:

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Dim xRg, xCell As Range
Dim xRgs, xRgArea kot obseg
Nastavite xRgs = Obseg("A1:A22,D1:D22")
Application.ScreenUpdating = Napačno
Ob napaki Pojdi na Ctn
Za vsako xRgArea v xRgs.Areas
Debug.Print xRgArea.Address
Za vsak xRg v xRgArea.Columns
Za vsako xCell v xRg.Rows
Če je xCell.Value = "" Potem
xCell.EntireRow.Hidden = True
Pojdi na Ctn
Drugače Če ne xCell.EntireRow.Hidden Potem
xCell.EntireRow.Hidden = False
Konec Če
Ctn:
Naslednji
Naslednji
Naslednji
Application.ScreenUpdating = Res
End Sub

Sklice na celice lahko spremenite glede na vaše potrebe.
Prosim poskusite!
Ta komentar je moderator na spletnem mestu minimiziral
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف يبطأ الشيت بطريقة طويلة جدا فما العمل؟
Ta komentar je moderator na spletnem mestu minimiziral
Želim vedeti, ali bo koda delovala, če je celica prazna zaradi formule?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, ACHINTA,
Zgornja koda VBA se uporablja tudi za prazne celice kot rezultat formule, lahko poskusite, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Formula deluje tako, da na začetku skrije celice na podlagi informacij, vendar celic ne razkrije znova, če se njihova vsebina spremeni. Želim, da razkrije vse nove celice, ki so bile napolnjene z informacijami (kar se zgodi z iskanjem celic). Kako to naredim?
Ta komentar je moderator na spletnem mestu minimiziral
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.

Hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Želim, da v aktivnem listu deluje nekaj takega:

Če celice D2:D55 = ""
Nato Hide.EntireRow

Če celice D2:D55 = "ima katero koli vrednost"
Nato Show.EntireRow

Kako?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Kacha, samo spremeniti morate referenco celice v kodi v svoj obseg celic, kot je spodaj: Zasebni pod delovni list_Change(ByVal Target As Range)
'Posodobitev Extendoffice
Dim xRg As Range
Application.ScreenUpdating = Napačno
Za vsak xRg v območju ("D2:D55")
Če je xRg.Value = "" Potem
xRg.EntireRow.Hidden = True

Else
xRg.EntireRow.Hidden = False
Konec Če
Naslednji xRg
Application.ScreenUpdating = Res
Končaj SubPo vstavitvi kode ne pozabite dvoklikniti poljubne celice in pritisniti tipko Enter, da koda začne veljati.
Ta komentar je moderator na spletnem mestu minimiziral
Kateri je najpreprostejši način za razveljavitev samodejnega skrivanja?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, mình có dùng 2 koda trong 1 datoteka excel (1 koda 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. Khi mình ấn in từng bản thì ok nhưng nếu in 1 loạt thì koda Skrij không có tác dụng, bạn xem giúp mình vớn!

Pod PRINT_PRINT()
Dim rng As Range, x As Range
Nastavi rng = obseg ("a16:a23")
Application.ScreenUpdating = Napačno
Za vsak x In rng
Če je Len(x.Text) = 0 Potem
x.EntireRow.Hidden = Res
Else
x.EntireRow.Hidden = False
Konec Če
Naprej x
Application.ScreenUpdating = Res


Dim p1, p2, i&
p1 = List1.Razpon("O1").Vrednost
p2 = List1.Razpon("O2").Vrednost
Če je IsNumeric(p1) = False ali IsNumeric(p2) = False, potem
tb = MsgBox("So code phai la so.", "Thông báo")
Exit Sub
Konec Če
Če je p1 > p2 Potem
tb = MsgBox("So code sau phai >= so code truoc.", "Thông báo")
Exit Sub
Konec Če
Če je p1 < 1 ali p2 < 1 Potem
tb = MsgBox("Torej koda phai >= 1.", , "Thông báo")
Exit Sub
Konec Če
Če je p1 <= p2 Potem
Za i = p1 do p2
List1.Razpon("M2").Vrednost = i
List1.Natisni
Naslednji
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
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:
SubOcultarColumnaSin1()
Application.ScreenUpdating = Napačno
Za vsak rango v stolpcih
Če je rango = "" Potem
rango.EntireColumn.Hidden = Res
Else
rango.EntireColumn.Hidden = False
Konec Če
Naslednji rango
Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
To mi odlično deluje, skrije vrstice in jih odpre, ko se moje vrednosti spremenijo na podlagi formul. Vprašanje, ki ga imam, je, da je moj list dolg 104 vrstice. Vsakič, ko kliknem na celico, se nekoliko zavrti. Ali obstaja način za pospešitev prehoda, ko je aktiviran? Ali pa je to moj računalnik? Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Rad bi samodejno skril vrstice, če je stolpec E prazen ali 0
Ta komentar je moderator na spletnem mestu minimiziral
Če je vrednost v stolpcu E prazna ali 0, želim, da se vrstica samodejno skrije. Če se vrednost v E spremeni v nekaj drugega kot prazno ali 0, želim, da se prikaže. Poročilo obsega 1500 vrstic
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljena Cathy,
Če želite samodejno skriti vrstice na podlagi praznih celic ali vrednosti 0, uporabite spodnjo kodo 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


Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Kako skriti vrstico, ki vsebuje potrditveno polje?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Sweta

Če želite skriti vrstice s potrditvenim poljem, vam lahko uslugo naredi spodnji članek:
Kako skriti potrditveno polje, ko je vrstica skrita v Excelu?

Poskusite, če imate še kakšno vprašanje, komentirajte tukaj.
Ta komentar je moderator na spletnem mestu minimiziral
Pri izvajanju kode v pisarni 2013/2019/2021 deluje, vendar traja preveč časa, da se dokonča (samo 95 vrstic za skrivanje).
Kako lahko to pospešiš?
Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Asaf,
Koda dobro deluje v moji Excelovi datoteki. Lahko sem naložite svoj delovni zvezek za priloge, če vas ne moti? Da lahko pomagamo preveriti težavo.

Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljena, Nurjanah
Če želite rešiti vašo težavo, morate najprej skriti prazne vrstice in nato natisniti podatke, potem ko natisnete podatke, morate znova razkriti prazne vrstice. Prosim naredite takole:
1. Uporabite to formulo: =COUNTA(A2:E2) poleg vaših podatkov, glejte posnetek zaslona:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Nato filtrirajte nov pomožni prazen stolpec, skrijte vseh 0 vrstic vrednosti, glejte posnetek zaslona:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. In potem bi morali skriti nov prazen stolpec in natisniti podatke, po tiskanju delovnega lista prekličite filter, da razkrijete prazne vrstice, kot jih potrebujete.
Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, imam težave z "avtomatizacijo" makra. Iščem način, da bi koda delovala kot avtomatiziran proces brez potrebe po "ročnem" izvajanju makra. uporabljal sem svojo različico vaše kode, ker sem našel težave pri uporabi vaše kode. To je moja varianta:

Sub HideRows()
Dim xRg As Range
Application.ScreenUpdating = Napačno
Za vsak xRg v območju ("A3:A800")
If (xRg.Value = "") Potem
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
Konec Če
Naslednji xRg
Application.ScreenUpdating = Res
End Sub

Poskušam ustvariti preglednico, ki zahteva nenehno spreminjajoče se vrednosti, zato bi zahteval pristen "avtomatiziran" postopek. V VBA sem relativno nov in če vaša koda dejansko že izpolnjuje moje zahteve, bi mi lahko pomagali/naučili, da jo uporabim v VBA? hvala
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Vian
Pravzaprav se koda v našem članku lahko zažene samodejno.
Kodo morate kopirati in prilepiti v kodni modul trenutnega delovnega lista, nato se vrniti na delovni list, dvoklikniti katero koli celico in pritisniti Vnesite tipko, bo vrstica s prazno celico neposredno skrita.

Sledite metodi v tem članku korak za korakom, upam, da vam lahko pomaga!
Hvala!
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL