VBA za skrivanje vrstic v Excelu (14 metod)

  • Deliti To
Hugh West

Včasih moramo pri uporabi velikega nabora podatkov v Excelu skriti nekatere določene vrstice za boljšo berljivost. Makro VBA je najučinkovitejša, najhitrejša in najvarnejša metoda za izvedbo katere koli operacije v Excelu. V tem članku vam bomo pokazali, kako skrivanje vrstic v Excelu na podlagi različnih meril z uporabo makra VBA.

Prenos delovnega zvezka

Brezplačni delovni zvezek Excel lahko prenesete s tega mesta.

Skrivanje vrstic z VBA.xlsm

14 metod z VBA za skrivanje vrstic v Excelu

V tem razdelku bomo obravnavali 12 različnih metod z VBA na . skriti vrstice v Excelu. Primer, ki ga bomo uporabljali v celotnem članku, je prikazan spodaj.

1. Vgradnja VBA za skrivanje ene vrstice v Excelu

Če želite skrijte eno vrstico s spletno stranjo . VBA kodo, nato sledite korakom, opisanim v nadaljevanju. V našem primeru bomo skrijte vrstico številka 5 ( Priimek ) iz našega nabora podatkov.

Koraki:

  • Pritisnite Alt + F11 na tipkovnici ali odprite zavihek Razvijalec -> Visual Basic da odprete Urejevalnik Visual Basic .

  • V pojavnem oknu kode v menijski vrstici kliknite Vstavljanje -> Modul .

  • Kopirajte naslednjo kodo in jo prilepite v okno s kodo.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • Delovni listi("Single") = Nastavite ime delovnega lista.
  • Razpon("5:5") = Pass vrstica številka 5 v notranjosti Razpon metoda.

  • Pritisnite F5 na tipkovnici ali v menijski vrstici izberite Run -> Run Sub/UserForm Lahko tudi kliknete na majhna ikona za predvajanje v podmeniju za zagon makra.

Na spodnji sliki opazite, vrstica številka 5 se skrije po izvedbi VBA koda.

Preberite več: Formula za skrivanje vrstic v Excelu (7 metod)

2. Vstavite makro za skrivanje sosednjih vrstic v Excelu

Naučili ste se, kako skriti eno vrstico z VBA . Toda predpostavimo, da želite skrijte območje vrstic. ki so sosednji . To lahko storite tudi z VBA v Excelu. skriti vrstice številka 5 do 7 iz našega nabora podatkov, prikazanega zgoraj.

Koraki:

  • Na enak način kot prej odprite Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • Delovni listi("Sosedni") = Nastavite ime delovnega lista.
  • Razpon("5:7") = Pass številka vrstice 5 do 7 v notranjosti Razpon metoda.

  • Spustite to kodo in si na naslednji sliki oglejte, da vrstice od 5 do 7 so zdaj skrite.

Preberite več: Kako skriti in odkriti vrstice v Excelu (6 najlažjih načinov)

3. Vgradnja makra za izločanje nesorodnih vrstic

Tokrat se boste naučili, kako skriti vrstice v Excelu, ki so nesorodne s spletno stranjo . VBA . Z našim naborom podatkov je koda za skriti vrstice 5, 6, 8 in 9 so navedeni v nadaljevanju.

Koraki:

  • Kot je bilo že prikazano, je odprta Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • Delovni listi("Nesorodni") = Nastavite ime delovnega lista.
  • Razpon("5:6, 8:9") = Pass vrstica številka 5 do 6 in . 8 do 9 v notranjosti Razpon metoda.

  • Spustite ta del kode in preverite, da vrstice 5 do 6 in . 8 do 9 so skrite na naslednji sliki.

Preberite več: Kako skriti vrstice v Excelu (6 učinkovitih metod)

4. Makro za skrivanje vseh vrstic, ki vsebujejo besedila v Excelu

Če želite skrijte vse vrstice, ki vsebujejo besedilo vrednosti, nato sledite spodnjim korakom.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideAllRowsContainsText() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 1 To LastRow 'Zanka skozi vsako vrstico in preverjanje zahtevanega pogoja 'Skrivanje vseh vrstic s podatki besedila If IsNumeric(Range("C" & amp; i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • IsNumeric(Range("C" & i)) = Podatki v našem naboru podatkov se začnejo z stolpec C, zato smo sprejeli C v notranjosti Razpon metoda.

  • Spustite to kodo in opazili boste. vse vrstice ki so bili ki vsebuje besedilo vrednosti so zdaj skrite.

Preberite več: Kako skriti več vrstic v Excelu (9 metod)

5. Makro za zakrivanje vseh vrstic, ki vsebujejo številke, v Excelu

In če želite skriti vse vrstice, ki vsebujejo številčne vrednosti. s spletno stranjo . VBA kodo, nato sledite spodnjim korakom.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vse vrstice s številčnimi podatki If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • IsNumeric(Range("C" & i)) = Podatki v našem naboru podatkov se začnejo z stolpec C, zato smo sprejeli C v notranjosti Razpon metoda.

  • Spustite to kodo in opazite, da vse vrstice ki so bili ki vsebujejo numerične vrednosti so zdaj skrite.

Preberite več: Skrijte podvojene vrstice na podlagi enega stolpca v Excelu (4 metode)

6. Makro za skrivanje vrstic, ki vsebujejo ničlo (0) v Excelu

Recimo, da želite skriti samo vrstice iz določenega stolpca, ki so držanje 0 (nič) . Oglejte si naslednji nabor podatkov, v katerem je Stolpec E ima . 0 v vrstica 7 in . 82 v vrsti 10 . Naučili se bomo, kako skrijte samo vrstico, v kateri je 0 ( vrstica 7 ) z VBA v Excelu.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsZero() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zanka skozi vsako vrstico in preverjanje zahtevanega pogoja 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrivanje vrstice, ki vsebuje 0 v stolpcu E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in opazite, da je vrstica ( vrstica 7 ), ki so vsebovali 0 na spletnem mestu stolpec E je zdaj skrit, medtem ko je vrstica 10 ki nosi 82 ni skrito.

Preberite več: Kako skriti prazne vrstice v programu Excel VBA (4 uporabne metode)

7. Izvajanje makra za skrivanje vrstic z negativnimi vrednostmi v programu Excel

Tako kot lahko skrijete vrstice, ki vsebujejo ničlo iz istega stolpca, lahko skrijte vrstice z negativnimi vrednostmi. tudi. Pri naboru podatkov, prikazanem spodaj, kjer stolpec E vsebuje tako negativne kot pozitivne vrednosti, si bomo ogledali kodo, ki skriva samo negativno vrednost.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsNegative() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje negativne vrednosti v stolpcu E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in opazite, da vrstica 7 ki je vsebovala negativna vrednost (-10) na spletnem mestu stolpec E je zdaj skrit, medtem ko je vrstica 10 ki nosi 82 ni skrito.

8. Vgradnja VBA za prikrivanje vrstic, ki vsebujejo pozitivne vrednosti v Excelu

Tokrat s spodaj navedenim naborom podatkov, kjer stolpec E vsebuje obe ničelni pozitivni vrednosti, bomo videli VBA kodo, ki skriva le pozitivno .

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsPositive() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje pozitivne vrednosti v stolpcu E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in opazite, da vrstica 7 ki je vsebovala pozitivna vrednost (55) na spletnem mestu stolpec E je zdaj skrit, medtem ko je vrstica 10 ki nosi 0 ni skrito.

Preberite več: VBA za skrivanje vrstic na podlagi vrednosti celice v programu Excel (14 primerov)

9. Makro za skrivanje vrstic, ki vsebujejo lihe številke v Excelu

Lahko skrijte vrstice z lihimi številkami. v primeru, ki smo ga prikazali na začetku tega članka, stolpec E ima tako lihe kot sode številke v vrstici 7 in 10 . Naučili se bomo kodo skrivanje vrstice ki ima lihe številke samo.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsOdd() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje pozitivne vrednosti v stolpcu E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite tega dela kode in preverite, da je samo vrstica 7 ki je vsebovala liho število (55) na spletnem mestu stolpec E je zdaj skrit, medtem ko je vrstica 10 ki nosi sodo število (82) ni skrito.

10. VBA za skrivanje vrstic, ki vsebujejo lihe številke, v programu Excel

Podobno lahko skrijte vrstice s sodimi številkami. v primeru, ki smo ga prikazali na začetku tega članka, stolpec F ima tako lihe kot sode številke v vrstici 7 in 10 . Naučili se bomo kodo skrivanje vrstice ki ima lihe številke samo.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsEven() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje pozitivne vrednosti v stolpcu F If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in preverite, da je samo vrstica 7 ki je vsebovala sodo število (100) na spletnem mestu stolpec F je zdaj skrit, medtem ko je vrstica 10 ki nosi liho število (75) ni skrito.

Preberite več: Excel VBA: Skrijte vse vrstice v Excelu (5 praktičnih primerov)

11. Vstavite makro za skrivanje vrstic, ki so večje od določenega pogoja

Lahko skrijte vrstice, ki so večje od določeno vrednost z VBA Excel. Recimo, da želite skriti vrstice iz stolpec E kjer je vrednost več kot 80 . Tukaj je opisano, kako to storiti:

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsGreater() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje pozitivne vrednosti v stolpcu E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in preverite, da je samo vrstica 10 ki je vsebovala 82 (ki je večja od 80) v stolpec E je zdaj skrit, medtem ko je vrstica 7 ki nosi 55 ni skrito.

Preberite več: Skrijte vrstice na podlagi vrednosti celice s pogojnim oblikovanjem v Excelu

12. Vstavite makro za pokrivanje vrstic, ki so manjše od določenega pogoja v Excelu

Prav tako lahko skrijte vrstice, ki so manjše od določeno vrednost z VBA Excel. Recimo, da želite skriti vrstice iz stolpec E kjer je vrednost manj kot 80 . Tukaj je opisano, kako to storiti:

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowContainsLess() LastRow = 1000 'Predpostavimo, da je v naboru podatkov 1000 vrstic For i = 4 To LastRow 'Zavihekamo skozi vsako vrstico in preverimo zahtevani pogoj 'Nastavimo i = 4, ker se naši podatki začnejo v vrstici 4 'Skrijemo vrstico, ki vsebuje pozitivne vrednosti v stolpcu E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Spustite to kodo in preverite, da je samo vrstica 7 ki je vsebovala 55 (kar je manj kot 80) v stolpec E je zdaj skrit, medtem ko je vrstica 10 to je prenos 82 ni skrito.

13. Prikrivanje vrstic na podlagi vrednosti besedila v celici z makrom

Recimo, da želite skrijte vrstico z določenim besedilom. V našem primeru bomo prikazali primer vrstice, ki vsebuje besedo " Kemija ", vrstica 6 in vam posreduje kodo za skrivanje te vrstice.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • StartRow = 4 -> Prva vrsta nabora podatkov.
  • LastRow = 10 -> Zadnja vrstica nabora podatkov.
  • iCol = 4 -> naslov stolpca na spletni strani . vsebuje besedilo vrednost.

  • Spustite to kodo in opazite, da vrstica številka 6 ki je sestavljen iz besede " Kemija " je skrit.

14. Makro za skrivanje vrstic na podlagi numerične vrednosti celice v Excelu

Prej ste videli, kako skriti vrstico na podlagi vrednosti besedila v celici, tokrat pa se boste naučili, kako to storiti, ko vrednost je številčna. V našem primeru vam bomo prikazali primer z vrstico, ki vsebuje številčno vrednost " 87 ", vrstica 7 in vam posreduje kodo za skrivanje te vrstice.

Koraki:

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Vaša koda je zdaj pripravljena za zagon.

Tukaj,

  • StartRow = 4 -> Prva vrsta nabora podatkov.
  • LastRow = 10 -> Zadnja vrstica nabora podatkov.
  • iCol = 4 -> naslov stolpca na spletni strani . vsebuje besedilo vrednost.

  • Spustite to kodo in opazite, da vrstica številka 7 ki je sestavljen iz številčne vrednosti " 87 " je skrit.

Preberite več: Kako skriti vrstice na podlagi vrednosti celice v Excelu (5 metod)

Zaključek

V tem članku je bilo prikazano, kako skriti vrstice v Excelu z VBA Upam, da vam je ta članek zelo koristil. Če imate kakršna koli vprašanja v zvezi s to temo, vas prosim, da jih postavite.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.