VBA a sorok elrejtéséhez az Excelben (14 módszer)

  • Ossza Meg Ezt
Hugh West

Néha szükségünk van arra, hogy elrejtsünk néhány konkrét sort, amikor nagy adatállományunkat az Excelben használjuk a jobb olvashatóság érdekében. A következők megvalósítása VBA makró a leghatékonyabb, leggyorsabb és legbiztonságosabb módszer bármilyen művelet futtatására az Excelben. Ebben a cikkben megmutatjuk, hogy hogyan lehet sorok elrejtése az Excelben különböző kritériumok alapján a VBA makró segítségével.

Munkafüzet letöltése

Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.

Sorok elrejtése VBA.xlsm segítségével

14 módszer a VBA-val az Excel sorok elrejtésére az Excelben

Ebben a szakaszban 12 különböző módszert fogunk megvitatni a VBA a címre. sorok elrejtése A példa, amelyet az egész cikk során használni fogunk, az alábbiakban látható.

1. Beágyazott VBA az Excel egyetlen sorának elrejtéséhez

Ha azt szeretné, hogy egyetlen sor elrejtése a címen VBA kódot, majd kövesse az alábbiakban ismertetett lépéseket. Esetünkben a következő lesz 5. sor elrejtése ( Vezetéknév ) a mi adatállományunkból.

Lépések:

  • Sajtó Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .

  • A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .

  • Másolja ki az alábbi kódot, és illessze be a kódablakba.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

A kódja most már futtatásra kész.

Tessék,

  • Munkalapok("Single") = Állítsa be a munkalap neve.
  • Range("5:5") = Pass 5. sorszám a Tartomány módszer.

  • Sajtó F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen rákattinthat a kis Play ikon az almenüsorban a makró futtatásához.

Vegye észre az alábbi képen, 5. sorszám el van rejtve a VBA kód.

Bővebben: Képlet az Excel sorok elrejtésére (7 módszer)

2. Makró beillesztése az Excel egybefüggő sorainak elrejtéséhez

Megtanultad, hogyan rejts el egy sort a VBA De tegyük fel, hogy sorok egy tartományának elrejtése amelyek egybefüggő Ezt is megteheti a VBA Excelben. Mi lesz elrejtése 5-7. sorok a fent bemutatott adatkészletünkből.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

A kódja most már futtatásra kész.

Tessék,

  • Munkalapok("Összefüggő") = Állítsa be a munkalap neve.
  • Range("5:7") = Pass 5-7. sorszám a Tartomány módszer.

  • Fuss ezt a kódot, és lásd a következő képen, hogy 5-7. sorok most el vannak rejtve.

Bővebben: Hogyan lehet elrejteni és eltávolítani a sorokat az Excelben (6 legegyszerűbb módja)

3. Beágyazás makró a nem egybefüggő sorok titkosításához

Ezúttal megtanulod, hogyan kell sorok elrejtése Excelben, amelyek nem összefüggő a címen VBA A mi adatállományunkkal a kód a elrejtése 5., 6., 8. és 9. sor az alábbiakban adjuk meg.

Lépések:

  • Amint korábban bemutattuk, a nyitott Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

A kódja most már futtatásra kész.

Tessék,

  • Munkalapok("Nem összefüggő") = Állítsa be a munkalap neve.
  • Range("5:6, 8:9") = Pass az 5-6. sorszám és 8-9 a Tartomány módszer.

  • Fuss ezt a kódrészletet, és lásd, hogy 5-6. sor és 8-9 a következő képen rejtve vannak.

Bővebben: Hogyan lehet elrejteni a sorokat az Excelben (6 hatékony módszer)

4. Makró a szövegeket tartalmazó sorok elrejtéséhez az Excelben

Ha azt szeretné, hogy a szöveget tartalmazó sorok elrejtése értékeket, akkor kövesse az alábbi lépéseket.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideAllRowsContainsText() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatállományban For i = 1 To LastRow 'Lépjünk át minden soron és ellenőrizzük a szükséges feltételt 'A szöveges adatokat tartalmazó sorok elrejtéséhez If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

A kódja most már futtatásra kész.

Tessék,

  • IsNumeric(Range("C" & i))) = Az adatállományunk adatai a következő időponttól kezdődnek C oszlop, így átadtuk C a Tartomány módszer.

  • Fuss ezt a kódot, és észre fogja venni az összes sor amelyek szöveget tartalmazó értékek most el vannak rejtve.

Bővebben: Hogyan lehet több sort elrejteni az Excelben (9 módszer)

5. Makró az Excel összes számokat tartalmazó sorának elrejtéséhez

És ha el akarod rejteni minden olyan sor, amely numerikus értékeket tartalmaz a címen VBA kódot, majd kövesse az alábbi lépéseket.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatkészletben For i = 4 To LastRow 'Minden soron végighaladunk és ellenőrizzük a szükséges feltételt 'Az i = 4, mert az adataink a 4. sorból indulnak 'A numerikus adatokat tartalmazó sorok elrejtése If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

A kódja most már futtatásra kész.

Tessék,

  • IsNumeric(Range("C" & i))) = Az adatállományunk adatai a következő időponttól kezdődnek C oszlop, így átadtuk C a Tartomány módszer.

  • Fuss ezt a kódot, és vegye észre, hogy az összes sor amelyek numerikus értékeket tartalmaz korábban elrejtették.

Bővebben: Duplikált sorok elrejtése egy oszlop alapján az Excelben (4 módszerek)

6. Makró a nullát (0) tartalmazó sorok elrejtéséhez az Excelben

Tegyük fel, hogy csak azokat a sorokat szeretnénk elrejteni egy adott oszlopból, amelyek 0 (nulla) tartás Nézze meg a következő adathalmazt, ahol a E oszlop a tartalma: 0 in 7. sor és 82 a 10. sorban Megtanuljuk, hogyan csak azt a sort rejtse el, amelyikben 0 van ( 7. sor ) a VBA Excelben.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsZero() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatkészletben For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlopban a 0-t tartalmazó sor elrejtése If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és figyeljük meg, hogy a sor ( 7. sor ), amelyek tartalmaznak 0 a oldalon. E oszlop most el van rejtve, mivel 10. sor amely a 82 nem rejtőzik el.

Bővebben: Hogyan lehet elrejteni az üres sorokat az Excel VBA-ban (4 hasznos módszer)

7. Makró végrehajtása a negatív értékeket tartalmazó sorok elrejtéséhez az Excelben

Ahogyan elrejtheti azokat a sorokat, amelyek ugyanabból az oszlopból nullát tartalmaznak, úgy elrejtheti a a negatív értékeket tartalmazó sorok elrejtése Az alábbiakban bemutatott adatkészlettel, ahol a E oszlop negatív és pozitív értékeket is tartalmaz, akkor azt a kódot fogjuk látni, amely csak a negatív értéket rejti el.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsNegative() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatkészletben For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlop negatív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és vegye észre, hogy 7. sor amely tartalmazott egy negatív érték (-10) a oldalon. E oszlop most el van rejtve, mivel 10. sor amely a 82 nem rejtőzik el.

8. Beágyazott VBA a pozitív értékeket tartalmazó sorok elrejtéséhez az Excelben

Ezúttal az alábbi adatkészlettel, ahol E oszlop mindkettő nulla pozitív értéket tartalmaz, látni fogjuk a VBA kód, amely csak a pozitívot rejti el .

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsPositive() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatkészletben For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlop pozitív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és vegye észre, hogy 7. sor amely tartalmazott egy pozitív érték (55) a oldalon. E oszlop most el van rejtve, mivel 10. sor amely a 0 nem rejtőzik el.

Bővebben: VBA a sorok elrejtése az Excel cellák értéke alapján (14 példa)

9. Makró a páratlan számokat tartalmazó sorok elrejtéséhez az Excelben

Megteheti a páratlan számokat tartalmazó sorok elrejtése A cikk elején bemutatott példában, E oszlop páratlan és páros számokat is tart a 7. és 10. sor . Megtanuljuk a kódot a sor elrejtése amiben benne van páratlan számok csak.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsOdd() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatállományban For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlop pozitív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódrészletet, és láthatjuk, hogy csak 7. sor amely tartalmazott egy páratlan szám (55) a oldalon. E oszlop most el van rejtve, mivel 10. sor amely egy páros szám (82) nem rejtőzik el.

10. VBA a páros számokat tartalmazó sorok elrejtéséhez az Excelben

Hasonlóképpen, akkor a páros számokat tartalmazó sorok elrejtése A cikk elején bemutatott példában, F oszlop páratlan és páros számokat is tart a 7. és 10. sor Megtanuljuk a kódot a sor elrejtése amiben benne van páros számok csak.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsEven() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatállományban For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az F oszlop pozitív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és lásd, hogy csak 7. sor amely tartalmazott egy páros szám (100) a oldalon. F oszlop most el van rejtve, mivel 10. sor amely egy páratlan szám (75) nem rejtőzik el.

Bővebben: Excel VBA: Az összes sor elrejtése az Excelben (5 gyakorlati példa)

11. Makró beillesztése egy adott feltételnél nagyobb sorok elrejtéséhez

Megteheti elrejti azokat a sorokat, amelyek nagyobbak, mint egy adott értéket a VBA Excel. Tegyük fel, hogy el akarja rejteni a sorokat a E oszlop ahol az érték több mint 80 Itt van, hogyan kell ezt megtenni:

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsGreater() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatkészletben For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlop pozitív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és lásd, hogy csak 10. sor amely tartalmazta 82 (ami nagyobb, mint 80) a E oszlop most el van rejtve, mivel 7. sor amely a 55 nem rejtőzik el.

Bővebben: Sorok elrejtése a cella értéke alapján az Excel feltételes formázásával

12. Beágyazott makró a sorok lefedésére, amelyek kevesebbek, mint egy adott feltétel az Excelben

Ön is elrejti azokat a sorokat, amelyek kisebbek, mint egy adott értéket a VBA Excel. Tegyük fel, hogy el akarja rejteni a sorokat a E oszlop ahol az érték kevesebb mint 80 Itt van, hogyan kell ezt megtenni:

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub HideRowContainsLess() LastRow = 1000 'Tegyük fel, hogy 1000 sor van az adatállományban For i = 4 To LastRow 'Lépjünk végig minden soron és ellenőrizzük a szükséges feltételt 'Azért állítottunk i = 4-et, mert az adataink a 4. sorból indulnak 'Az E oszlop pozitív értékeket tartalmazó sorának elrejtése If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

A kódod most már futtatásra kész.

  • Fuss ezt a kódot, és lásd, hogy csak 7. sor amely tartalmazta 55 (ami kevesebb, mint 80) a E oszlop most el van rejtve, mivel 10. sor vagyis 82 nem rejtőzik el.

13. Sorok elrejtése a cella szövegértéke alapján makróval

Tegyük fel, hogy egy adott szöveget tartalmazó sor elrejtése A mi esetünkben egy példát adunk azzal a sorral, amely a " Kémia ", 6. sor és megadja a kódot, hogy hogyan rejtse el ezt a sort.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 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 

A kódja most már futtatásra kész.

Tessék,

  • StartRow = 4 -> Első sor az adatállomány.
  • LastRow = 10 -> Utolsó sor az adatállomány.
  • iCol = 4 -> A oszlop címe hogy tartalmazza a szöveget érték.

  • Fuss ezt a kódot, és vegye észre, hogy 6. sorszám amely a " Kémia " el van rejtve.

14. Makró a sorok elrejtéséhez a cellák numerikus értéke alapján az Excel-ben

Korábban már láttad, hogyan lehet elrejteni egy sort a cella szövegértéke alapján, ezúttal azt fogod megtanulni, hogyan lehet ezt megtenni, ha a az érték numerikus A mi esetünkben egy példát fogunk adni a sorral, amely a számértéket tartalmazza " 87 ", 7. sor és megadja a kódot, hogy hogyan rejtse el ezt a sort.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 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 

A kódja most már futtatásra kész.

Tessék,

  • StartRow = 4 -> Első sor az adatállomány.
  • LastRow = 10 -> Utolsó sor az adatállomány.
  • iCol = 4 -> A oszlop címe hogy tartalmazza a szöveget érték.

  • Fuss ezt a kódot, és vegye észre, hogy 7. sorszám amely a " 87 " el van rejtve.

Bővebben: Hogyan lehet elrejteni a sorokat a cellák értéke alapján az Excelben (5 módszerek)

Következtetés

Ez a cikk megmutatta, hogyan kell sorok elrejtése Excelben a VBA . remélem, hogy ez a cikk nagyon hasznos volt számodra. Nyugodtan kérdezz, ha bármilyen kérdésed van a témával kapcsolatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.