Kazalo
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.