Sisukord
Mõnikord on meil vaja Exceli suure andmekogumi kasutamisel parema loetavuse huvides varjata mõned konkreetsed read. Rakendades VBA makro on kõige tõhusam, kiirem ja turvalisem meetod mis tahes toimingute teostamiseks Excelis. Selles artiklis näitame teile, kuidas teha Exceli ridade peitmine erinevate kriteeriumide alusel, kasutades VBA-makrot.
Lae alla töövihik
Tasuta Exceli harjutusvihiku saate alla laadida siit.
Ridade peitmine VBA.xlsm abil
14 meetodit VBA-ga Exceli ridade varjamiseks
Selles jaotises arutame 12 erinevat meetodit, mille puhul VBA aadressile ridade peitmine Excelis. Näide, mida me kasutame kogu artikli jooksul, on esitatud allpool.
1. Embed VBA ühe rea peitmiseks Excelis
Kui soovite ühe rea varjamine koos VBA koodi, siis järgige allpool kirjeldatud samme. Meie puhul me varjata rida number 5 ( Perekonnanimi ) meie andmestikust.
Sammud:
- Press Alt + F11 klaviatuuril või mine vahekaardile Arendaja -> Visual Basic avada Visual Basic toimetaja .
- Pikakoodi aknas klõpsake menüüribal nuppu Insert -> Moodul .
- Kopeeri järgmine kood ja kleebi see koodiaknasse.
Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub
Teie kood on nüüd valmis käivitamiseks.
Siin,
- Töölehed("Single") = Määrake töölehe nimi.
- Range("5:5") = Pass rida number 5 sees Range meetod.
- Press F5 klaviatuuril või valige menüüribalt Run -> Run Sub/UserFormi käivitamine Võite ka lihtsalt klõpsata väike Play ikoon allmenüüribal makro käivitamiseks.
Märkige alloleval pildil, rida number 5 on peidetud pärast programmi VBA kood.
Loe edasi: Valem Exceli ridade peitmiseks (7 meetodit)
2. Sisestage makro, et varjata Excelis külgnevaid ridu
Te olete õppinud, kuidas peita üksikut rida koos VBA Aga oletame, et soovite rea vahemiku varjamine mis on külgnevus Seda saab teha ka VBA Excelis. Me peida read number 5 kuni 7 meie eespool esitatud andmekogumist.
Sammud:
- Samamoodi nagu varem, avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub
Teie kood on nüüd valmis käivitamiseks.
Siin,
- Töölehed("Kokkupuutuvad") = Määrake töölehe nimi.
- Range("5:7") = Pass rida number 5 kuni 7 sees Range meetod.
- Käivita seda koodi ja näha järgmisel pildil, et read 5-7 on nüüd peidetud.
Loe edasi: Kuidas Exceli ridade peitmine ja eemaldamine (6 lihtsaimat viisi)
3. Embed makro, et salastada mitte-ühenduvad read
Seekord õpite, kuidas varjata read Excelis, mis on mitte-ühenduv koos VBA Meie andmekogumi puhul on kood peida read 5, 6, 8 ja 9 on esitatud allpool.
Sammud:
- Nagu eelnevalt näidatud, avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub
Teie kood on nüüd valmis käivitamiseks.
Siin,
- Töölehed("Mitte-ühenduvad") = Määrake töölehe nimi.
- Range("5:6, 8:9") = Pass rida number 5 kuni 6 ja 8-9 sees Range meetod.
- Käivita see kooditükk ja vaata, et read 5 kuni 6 ja 8-9 on järgmisel pildil peidetud.
Loe edasi: Kuidas Exceli ridade varjamine (6 tõhusat meetodit)
4. Makro kõigi Exceli tekste sisaldavate ridade peitmiseks
Kui soovite varjata kõik teksti sisaldavad read väärtused, siis järgige allpool esitatud samme.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideAllRowsContainsText() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 1 To LastRow 'Loop läbi iga rea ja kontrollige, kas nõutav tingimus on täidetud 'Et peita kõik read, mis sisaldavad tekstiandmeid If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub
Teie kood on nüüd valmis käivitamiseks.
Siin,
- IsNumeric(Range("C" & i)) = Meie andmekogumi andmed algavad alates veerg C, nii et me möödusime C sees Range meetod.
- Käivita seda koodi ja te märkate kõik read mis olid mis sisaldab teksti väärtused on nüüd peidetud.
Loe edasi: Kuidas eemaldada mitu rida Excelis (9 meetodit)
5. Makro kõigi Exceli numbreid sisaldavate ridade varjamiseks
Ja kui sa tahad varjata kõik read, mis sisaldavad numbrilisi väärtusi koos VBA koodi, siis järgige allpool toodud samme.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideAllRowsContainsNumbers() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita kõik rida, kus on arvandmed If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub
Teie kood on nüüd valmis käivitamiseks.
Siin,
- IsNumeric(Range("C" & i)) = Meie andmekogumi andmed algavad alates veerg C, nii et me möödusime C sees Range meetod.
- Käivita seda koodi ja märkame, et kõik read mis olid mis sisaldavad arvväärtusi on nüüd peidetud.
Loe edasi: Peida dubleerivad read ühe Exceli veeru põhjal (4 meetodit)
6. Makro nulli (0) sisaldavate ridade peitmiseks Excelis
Oletame, et soovite peita ainult need read konkreetsest veerust, mis on hoides 0 (null) Vaadake järgmist andmestikku, kus E-sammas hoiab 0 in rida 7 ja 82 reas 10 Me õpime, kuidas varjata ainult rida, mis hoiab 0 ( rida 7 ) koos VBA Excelis.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsZero() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab 0 veerus E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja märkame, et rida ( rida 7 ), mis sisaldasid 0 aadressil veerg E on nüüd peidetud, samas kui rida 10 mis kannab 82 ei ole varjatud.
Loe edasi: Kuidas varjata tühje ridu Excel VBAs (4 kasulikku meetodit)
7. Makro rakendamine negatiivseid väärtusi sisaldavate ridade peitmiseks Excelis
Nii nagu saate varjata ridu, mis sisaldavad nulli samast veerust, saate ka negatiivseid väärtusi sisaldavate ridade peitmine samuti. Allpool esitatud andmekogumi puhul, kus veerg E sisaldab nii negatiivseid kui ka positiivseid väärtusi, näeme koodi, mis peidab ainult negatiivse väärtuse.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsNegative() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab negatiivseid väärtusi veerus E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja märkame, et rida 7 mis sisaldas negatiivne väärtus (-10) aadressil veerg E on nüüd peidetud, samas kui rida 10 mis kannab 82 ei ole varjatud.
8. Embed VBA positiivseid väärtusi sisaldavate ridade varjamiseks Excelis
Seekord allpool esitatud andmestikuga, kus veerg E sisaldab mõlemat nulli positiivseid väärtusi, näeme, et VBA kood, mis peidab ainult positiivset .
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsPositive() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab positiivseid väärtusi veerus E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja märkame, et rida 7 mis sisaldas positiivne väärtus (55) aadressil veerg E on nüüd peidetud, samas kui rida 10 mis kannab 0 ei ole varjatud.
Loe edasi: VBA Exceli lahtri väärtuse alusel ridade peitmiseks (14 näidet)
9. Makro, et varjata Excelis paarituid numbreid sisaldavaid ridu
Saate varjata read, millel on paaritu arv nende väärtuseks. Selle artikli alguses näidatud näites, veerg E hoiab nii paarituid kui ka paarilisi numbreid read 7 ja 10 Me õpime koodeksit rea varjamine mis hoiab paaritu arvud ainult.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsOdd() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab positiivseid väärtusi veerus 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
Teie kood on nüüd valmis käivitamiseks.
- Käivita see kooditükk ja näha, et ainult rida 7 mis sisaldas paaritu arv (55) aadressil veerg E on nüüd peidetud, samas kui rida 10 mis kannab paariline arv (82) ei ole varjatud.
10. VBA, et varjata Excelis paarilisi numbreid sisaldavaid ridu
Samamoodi saate te peita read, millel on paarilised numbrid nende väärtuseks. Selle artikli alguses näidatud näites, veerg F hoiab nii paarituid kui ka paarilisi numbreid read 7 ja 10 Me õpime koodeksit rea varjamine mis hoiab paarilised numbrid ainult.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsEven() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab positiivseid väärtusi veerus 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
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja näha, et ainult rida 7 mis sisaldas paariline arv (100) aadressil veerg F on nüüd peidetud, samas kui rida 10 mis kannab paaritu arv (75) ei ole varjatud.
Loe edasi: Excel VBA: kõigi Exceli ridade peitmise tühistamine (5 praktilist näidet)
11. Sisesta makro, et varjata ridu, mis on suuremad kui konkreetne tingimus
Saate varjata read, mis on suuremad kui konkreetne väärtus koos VBA Excel. Oletame, et soovite varjata ridade eest veerg E kus väärtus on suurem kui 80 Siin on, kuidas seda teha:
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
Sub HideRowContainsGreater() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime nõutavat tingimust 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab positiivseid väärtusi veerus E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja näha, et ainult rida 10 mis sisaldas 82 (mis on suurem kui 80) aastal veerg E on nüüd peidetud, samas kui rida 7 mis kannab 55 ei ole varjatud.
Loe edasi: Ridade peitmine lahtri väärtuse alusel Exceli tingimusliku vormindamise abil
12. Embed makro, et katta ridu, mis on väiksem kui konkreetne tingimus Excelis
Võite ka varjata read, mis on väiksemad kui konkreetne väärtus koos VBA Excel. Oletame, et soovite varjata ridade eest veerg E kus väärtus on vähem kui 80 Siin on, kuidas seda teha:
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleebige see sisse.
Sub HideRowContainsLess() LastRow = 1000 'Oletame, et andmestikus on 1000 rida For i = 4 To LastRow 'Loop läbi iga rea ja kontrollime, kas nõutav tingimus on täidetud 'Seame i = 4, sest meie andmed algavad reast 4 'Et peita rida, mis sisaldab positiivseid väärtusi veerus E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Teie kood on nüüd valmis käivitamiseks.
- Käivita seda koodi ja näha, et ainult rida 7 mis sisaldas 55 (mis on vähem kui 80) aastal veerg E on nüüd peidetud, samas kui rida 10 mis on kandes 82 ei ole varjatud.
13. Ridade varjamine raku teksti väärtuse alusel makroga
Oletame, et soovite konkreetse teksti sisaldava rea peitmine väärtus. Meie puhul anname näite reaga, mis sisaldab sõna " Keemia ", rida 6 ja annab teile koodi, kuidas seda rida varjata.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
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
Teie kood on nüüd valmis käivitamiseks.
Siin,
- StartRow = 4 -> Esimene rida andmekogumi kohta.
- LastRow = 10 -> Viimane rida andmekogumi kohta.
- iCol = 4 -> The veeru aadress et sisaldab teksti väärtus.
- Käivita seda koodi ja märkame, et rida number 6 mis koosneb sõnast " Keemia " on peidetud.
14. Makro Exceli ridade peitmiseks lahtri numbrilise väärtuse alusel
Varem nägite, kuidas peidata rida lahtri teksti väärtuse alusel, seekord saate teada, kuidas seda teha, kui väärtus on numbriline . Meie puhul anname näite reaga, mis sisaldab numbrilist väärtust " 87 ", rida 7 ja annab teile koodi, kuidas seda rida varjata.
Sammud:
- Avatud Visual Basic toimetaja alates Arendaja vahekaart ja Sisesta a Moodul koodiaknas.
- Kopeerige koodiaknas järgmine kood ja kleepige see sisse.
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
Teie kood on nüüd valmis käivitamiseks.
Siin,
- StartRow = 4 -> Esimene rida andmekogumi kohta.
- LastRow = 10 -> Viimane rida andmekogumi kohta.
- iCol = 4 -> The veeru aadress et sisaldab teksti väärtus.
- Käivita seda koodi ja märkame, et rida number 7 mis koosneb numbrilisest väärtusest " 87 " on peidetud.
Loe edasi: Kuidas Exceli lahtri väärtuse alusel ridade varjamine (5 meetodit)
Kokkuvõte
See artikkel näitas teile, kuidas varjata read Excelis koos VBA . ma loodan, et see artikkel oli teile väga kasulik. Küsige julgelt, kui teil on küsimusi selle teema kohta.