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

Hur döljer jag rader automatiskt om tomma celler i en kolumn?

Om du har en rad data som fyller några tomma celler i en kolumn och nu vill du dölja raderna som innehåller de tomma cellerna i den kolumnen automatiskt. Finns det några bra sätt att lösa detta jobb i Excel snabbt och enkelt?

Dölj rader automatiskt om tomma celler i en kolumn med VBA-kod


pil blå höger bubbla Dölj rader automatiskt om tomma celler i en kolumn med VBA-kod

Följande kod kan hjälpa dig att dölja alla rader om tomma celler i en viss kolumn samtidigt, och om du tar bort cellinnehållet i den kolumnen kommer raderna också att döljas automatiskt. Gör så här:

1. Högerklicka på arkfliken som du vill dölja raderna automatiskt om det finns tomma celler i en kolumn och välj sedan Visa kod från snabbmenyn, i poppade ut Microsoft Visual Basic för applikationer kopiera och klistra in följande kod i tomt Modulerna:

VBA-kod: Dölj rader automatiskt om tomma celler i en kolumn:

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 auto hide rad 1

Anmärkningar: I ovanstående kod, A1: A20 är datalistan som innehåller de tomma cellerna du vill dölja automatiskt.

2. Gå sedan tillbaka till kalkylbladet och nu, när du dubbelklickar på vilken cell som helst och trycker på ange nyckel, raderna som innehåller tomma celler i kolumn A har döljts på en gång, och om du rensar något cellinnehåll i de angivna cellerna i kolumn A kommer raderna att döljas automatiskt.

doc auto hide rad 2

 


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten

 

Sortera kommentarer efter
Kommentarer (32)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag använder excel 2016 och det fungerar inte. Jag får ett sintax-felmeddelande. kan du hjälpa?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Ant,

Ovanstående kod fungerar bra i min Excel 2016, har du ändrat cellreferensen i koden efter ditt behov?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag får ett körtidsfel '13':



Typmatchningsfel



Någon som kan hjälpa???
Denna kommentar minimerades av moderatoren på webbplatsen
Kan jag stoppa detta makro från att köras automatiskt efter att ha tryckt på enter? Kan jag fästa den på en knapp för att bara dölja cellerna när jag klickar?
Denna kommentar minimerades av moderatoren på webbplatsen
har någon någonsin kommit på detta? Jag skulle också vilja veta.
Denna kommentar minimerades av moderatoren på webbplatsen
någon som kommit med svaret än?
Denna kommentar minimerades av moderatoren på webbplatsen
samma fråga här
Denna kommentar minimerades av moderatoren på webbplatsen
Hej grabbar,
För att dölja raderna som en specifik kolumn innehåller tomma celler genom att använda en knapp, gör så här:
Först bör du infoga en kommandoknapp från fliken Utvecklare.
Och använd sedan följande VBA-kod för kommandoknappen, (Obs: ändra cellreferensen a1:a20 till din egen)

Privat underkommando-knappen1_Click ()
Dim rng As Range, x As Range
Ange rng = Range("a1:a20")
Application.ScreenUpdating = False
För varje x i rng
Om Len(x.Text) = 0 Då
x.EntireRow.Hidden = Sant
annars
x.EntireRow.Hidden = Falskt
End If
Nästa x
Application.ScreenUpdating = True
End Sub

Prova det, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
hur man automatiskt döljer rader om tomma celler i 2 olika kolumner med VBA-kod
Denna kommentar minimerades av moderatoren på webbplatsen
Hej salpe,
För att automatiskt dölja raderna om tomma celler i två olika kolumner, använd följande kod:

Privata delarkivsförändring (ByVal-mål som område)
Dim xRg, xCell As Range
Dim xRgs, xRgArea As Range
Ställ in xRgs = Range("A1:A22,D1:D22")
Application.ScreenUpdating = False
Vid fel GoTo Ctn
För varje xRgArea In xRgs.Areas
Debug.Print xRgArea.Address
För varje xRg i xRgArea.Columns
För varje xCell I xRg.Rows
Om xCell.Value = "" Då
xCell.EntireRow.Hidden = Sant
Gå till Ctn
ElseIf Not xCell.EntireRow.Hidden Då
xCell.EntireRow.Hidden = Falskt
End If
Ctn:
Nästa
Nästa
Nästa
Application.ScreenUpdating = True
End Sub

Du kan ändra cellreferenserna efter dina behov.
Vänligen prova det!
Denna kommentar minimerades av moderatoren på webbplatsen
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف ةي طيق كود حذف الصف ب
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill veta om koden kommer att fungera Om cellen är tom som ett resultat av formel ?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, ACHINTA,
Ovanstående VBA-kod tillämpas också på de tomma cellerna som ett resultat av formeln, du kan prova det, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Formeln fungerar för att dölja celler baserat på information i början, men visar inte celler igen om deras innehåll ändras. Jag vill att den ska avslöja eventuella nya celler som har fyllts med information (vilket sker via en celluppslagning). Hur gör jag detta?
Denna kommentar minimerades av moderatoren på webbplatsen
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.

Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Vad jag vill är att något sånt här ska fungera i det aktiva arket:

Om celler D2:D55 = ""
Sedan Hide.EntireRow

Om cellerna D2:D55 = "har något värde"
Sedan Show.EntireRow

Hur?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Kacha, Du behöver bara ändra cellreferensen i koden till ditt eget cellområde enligt nedan: Private Sub Worksheet_Change(ByVal Target As Range)
'Uppdatering av Extendoffice
Dim xRg As Range
Application.ScreenUpdating = False
För varje xRg i intervallet("D2:D55")
Om xRg.Value = "" Då
xRg.EntireRow.Hidden = Sant

annars
xRg.EntireRow.Hidden = Falskt
End If
Nästa xRg
Application.ScreenUpdating = True
Avsluta SubNär du har infogat koden, kom ihåg att dubbelklicka på valfri cell och tryck på Enter för att få koden att träda i kraft.
Denna kommentar minimerades av moderatoren på webbplatsen
Vad är det enklaste sättet att ångra auto-hide?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej! Khi mình ấn in từng bản thì ok nhưng nếu in 2 loạt thì kod Göm không có tác dụng, bạn xem giúp mình vỻãi nhé, mơnh nhé!

Sub PRINT_PRINT()
Dim rng As Range, x As Range
Ange rng = Range("a16:a23")
Application.ScreenUpdating = False
För varje x i rng
Om Len(x.Text) = 0 Då
x.EntireRow.Hidden = Sant
annars
x.EntireRow.Hidden = Falskt
End If
Nästa x
Application.ScreenUpdating = True


Dim p1, p2, i&
p1 = Sheet1.Range("O1").Värde
p2 = Sheet1.Range("O2").Värde
If IsNumeric(p1) = False Eller IsNumeric(p2) = False Then
tb = MsgBox("So code phai la so.", , "Thông báo")
Exit Sub
End If
Om p1 > p2 Då
tb = MsgBox("So code sau phai >= so code truoc.", , "Thông báo")
Exit Sub
End If
Om p1 < 1 Eller p2 < 1 Då
tb = MsgBox("Så kod phai >= 1.", , "Thông báo")
Exit Sub
End If
Om p1 <= p2 Då
För i = p1 Till p2
Sheet1.Range("M2").Value = i
Blad1.Skriv ut
Nästa
End If
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
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 suuiente código, pero no se en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = False
För varje rango i kolumner
Om rango = "" Då
rango.EntireColumn.Hidden = Sant
annars
rango.EntireColumn.Hidden = False
End If
Nästa rango
Application.ScreenUpdating = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Det här fungerar utmärkt för mig, det döljer raderna och öppnar dem när mina värden ändras baserat på formler. Frågan jag har är att mitt ark är 104 rader långt. Det snurrar lite varje gång jag klickar på en cell. Något sätt att påskynda övergången när den är aktiverad? Eller är det min dator? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag skulle vilja dölja rader automatiskt om kolumn E är tom eller 0
Denna kommentar minimerades av moderatoren på webbplatsen
Om värdet i kolumn E är tomt eller 0 vill jag att raden ska döljas automatiskt. Om värdet i E ändras till något annat än blankt eller 0 vill jag att det ska visas. Rapporten är 1500 rader
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Cathy,
För att dölja raderna automatiskt baserat på tomma celler eller 0-värden, använd vba-koden nedan:
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


Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Hur döljer man en rad som innehåller kryssrutan?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Sweta

För att dölja rader med kryssruta kan artikeln nedan göra dig en tjänst:
Hur döljer jag kryssrutan när rad är dold i Excel?

Försök, om du fortfarande har några andra frågor, vänligen kommentera här.
Denna kommentar minimerades av moderatoren på webbplatsen
När du kör koden i office 2013/2019/2021 fungerar den men tar för lång tid att slutföra (endast 95 rader att dölja).
Hur kan du påskynda detta?
Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Asaf,
Koden fungerar bra i min Excel-fil, kan du ladda upp din bifogade arbetsbok här om du inte har något emot det? Så att vi kan hjälpa till att kontrollera problemet.

Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak fil menjadi PDF tapi tampilan di excelnya tetap
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Nurjanah
För att lösa ditt problem bör du först dölja de tomma raderna och sedan skriva ut data, efter att ha skrivit ut data måste du visa de tomma raderna igen. Gör så här:
1. Använd denna formel: =COUNTA(A2:E2) bredvid dina data, se skärmdump:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Filtrera sedan den nya hjälparen Tom kolumn, dölj alla 0 värderader, se skärmdump:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. Och sedan bör du dölja den nya tomma kolumnen och skriva ut data, efter att du har skrivit ut kalkylbladet, avbryt filtret för att visa de tomma raderna som du behöver.
Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag har problem med "automatiseringen" av makrot. Jag letar efter ett sätt för koden att fungera som en automatiserad process utan behov av att "manuellt" köra makrot. Jag har använt min egen variant av din kod eftersom jag har hittat problem med att använda din kod. Detta är min variant:

Sub HideRows()
Dim xRg As Range
Application.ScreenUpdating = False
För varje xRg i intervallet("A3:A800")
If (xRg.Value = "") Då
xRg.EntireRow.Hidden = Sant
annars
xRg.EntireRow.Hidden = Falskt
End If
Nästa xRg
Application.ScreenUpdating = True
End Sub

Jag försöker skapa ett kalkylblad som kräver ständigt föränderliga värden, därför skulle kräva en äkta "automatiserad" process. Jag är relativt ny på VBA och om din kod faktiskt redan uppfyller mina krav skulle du ha något emot att hjälpa/lära mig att tillämpa den i VBA? Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Vian
Faktum är att koden i vår artikel kan köras automatiskt.
Du måste kopiera och klistra in koden i kodmodulen för det aktuella kalkylbladet, sedan återgå till kalkylbladet, dubbelklicka på valfri cell och tryck på ange raden som innehåller den tomma cellen är direkt dold.

Vänligen följ metoden i den här artikeln steg för steg, hoppas det kan hjälpa dig!
Tack!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL