Tartalomjegyzék
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.