VBA, lai paslēptu rindas programmā Excel (14 metodes)

  • Dalīties Ar Šo
Hugh West

Dažreiz, izmantojot lielu datu kopu programmā Excel, mums ir nepieciešams paslēpt dažas konkrētas rindas, lai nodrošinātu labāku lasāmību. VBA makro ir visefektīvākā, ātrākā un drošākā metode, lai veiktu jebkuru operāciju programmā Excel. Šajā rakstā mēs parādīsim, kā izpildīt jebkuru operāciju programmā Excel. paslēpt rindas programmā Excel, pamatojoties uz dažādiem kritērijiem, izmantojot VBA makro.

Lejupielādēt darbgrāmatu

No šejienes varat lejupielādēt bezmaksas praktisko Excel darba burtnīcu.

Rindu slēpšana ar VBA.xlsm

14 metodes ar VBA, lai paslēptu rindas programmā Excel

Šajā sadaļā mēs aplūkosim 12 dažādas metodes ar VBA uz paslēpt rindas Piemērs, ko izmantosim visā rakstā, ir parādīts zemāk.

1. Iebūvējiet VBA, lai paslēptu vienu rindu programmā Excel

Ja vēlaties paslēpt vienu rindu ar VBA kodu, tad izpildiet tālāk aprakstītās darbības. Mūsu gadījumā mēs paslēpt 5. rindas numuru ( Uzvārds ) no mūsu datu kopas.

Soļi:

  • Spiediet Alt + F11 uz tastatūras vai atveriet cilni Izstrādātājs -> Visual Basic lai atvērtu Visual Basic redaktors .

  • Iznirstošajā koda logā izvēlnes joslā noklikšķiniet uz Ievietot -> Modulis .

  • Nokopējiet un ielīmējiet kodu logā šādu kodu.
 Sub HideSingleRow() Darblapas("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • Darblapas("Single") = Iestatiet darblapas nosaukums.
  • Diapazons("5:5") = caurlaide 5. rinda iekšpusē Diapazons metode.

  • Preses F5 uz tastatūras vai izvēlnes joslā izvēlieties Run -> Run Sub/UserForm Varat arī vienkārši noklikšķināt uz maza ikona Atskaņot apakšizvēlnes joslā, lai palaistu makro.

Ievērojiet zemāk redzamajā attēlā, 5. rinda tiek paslēpts pēc tam, kad izpildīts VBA kods.

Lasīt vairāk: Formula rindu slēpšanai programmā Excel (7 metodes)

2. Ievietojiet makrokontroles programmu, lai paslēptu blakusesošās rindas programmā Excel

Jūs esat iemācījies, kā paslēpt vienu rindu ar VBA . Bet pieņemsim, ka jūs vēlaties paslēpt rindu diapazonu kas ir pieguļošs . To var izdarīt arī ar VBA programmā Excel. Mēs paslēpt 5. līdz 7. rinda no mūsu datu kopas, kas parādīta iepriekš.

Soļi:

  • Tāpat kā iepriekš, atveriet Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideContiguousRows() Darblapas("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • Darblapas("Blakus") = Iestatiet darblapas nosaukums.
  • Diapazons("5:7") = caurlaide 5. līdz 7. rinda iekšpusē Diapazons metode.

  • Palaist šo kodu un nākamajā attēlā redziet, ka 5.-7. rinda tagad ir paslēptas.

Lasīt vairāk: Kā paslēpt un atcelt rindas programmā Excel (6 vienkāršākie veidi)

3. Embed Macro, lai atdalītu nesavienojošas rindas

Šoreiz uzzināsiet, kā paslēpt rindas programmā Excel, kas ir neietilpst ar VBA . Izmantojot mūsu datu kopu, kods, lai paslēpt 5., 6., 8. un 9. rinda ir norādītas turpmāk.

Soļi:

  • Kā jau iepriekš norādīts, atvērtā Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • Darblapas("Nesaistītas") = Iestatiet darblapas nosaukums.
  • Diapazons("5:6, 8:9") = caurlaide 5. līdz 6. rinda un 8 līdz 9 iekšpusē Diapazons metode.

  • Palaist šo koda fragmentu un redzēsiet, ka 5.-6. rinda un 8 līdz 9 ir paslēptas nākamajā attēlā.

Lasīt vairāk: Kā paslēpt rindas programmā Excel (6 efektīvas metodes)

4. Makrogramma, lai paslēptu visas rindas, kas satur tekstus programmā Excel

Ja vēlaties paslēpt visas rindas, kurās ir teksts vērtības, tad izpildiet tālāk norādītās darbības.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideAllRowsContainsText() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 1 To LastRow 'Cilpa caur katru rindu un pārbauda vajadzīgo nosacījumu 'Paslēpt visas rindas ar teksta datiem If IsNumeric(Range("C" & amp; i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • IsNumeric(Range("C" & amp; i)) = Mūsu datu kopas dati sākas no C sleja, tāpēc mēs izturējām C iekšpusē Diapazons metode.

  • Palaist šo kodu, un jūs pamanīsiet, ka visas rindas kas bija kas satur tekstu vērtības tagad ir paslēptas.

Lasīt vairāk: Kā Excel programmā Excel paslēpt vairākas rindas (9 metodes)

5. Makro, lai Excel programmā aizklātu visas rindas, kurās ir skaitļi

Un, ja vēlaties paslēpt visas rindas, kurās ir skaitliskās vērtības ar VBA kodu, pēc tam izpildiet tālāk norādītās darbības.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa caur katru rindu un pārbauda, vai ir vajadzīgais nosacījums 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu visas rindas ar skaitliskajiem datiem If IsNumeric(Range("C" & amp; i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • IsNumeric(Range("C" & amp; i)) = Mūsu datu kopas dati sākas no C sleja, tāpēc mēs izturējām C iekšpusē Diapazons metode.

  • Palaist šo kodu un pamaniet, ka visas rindas kas bija kas satur skaitliskās vērtības tagad ir paslēptas.

Lasīt vairāk: Slēpt dublējošās rindas, pamatojoties uz vienu kolonnu programmā Excel (4 metodes)

6. Makrogramma, lai programmā Excel paslēptu rindas, kurās ir nulle (0)

Pieņemsim, ka vēlaties paslēpt tikai tās konkrētas kolonnas rindas, kas ir turēšana 0 (nulle) . Aplūkojiet šādu datu kopu, kurā E sleja tur 0 in 7 rinda un 82 10. rindā . Mēs iemācīsimies, kā paslēpt tikai to rindu, kurā ir 0 ( 7 rinda ) ar VBA programmā Excel.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsZero() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa caur katru rindu un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur 0 E slejā If Range("E" & amp; i) = 0 Then Rows(i).EntireRow.Hidden = True Next Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un pamaniet, ka rinda ( 7 rinda ), kas saturēja 0 vietnē E sleja tagad ir paslēpts, savukārt 10 rinda kas pārvadā 82 nav paslēpts.

Lasīt vairāk: Kā paslēpt tukšās rindas programmā Excel VBA (4 noderīgas metodes)

7. Īsteno makro, lai programmā Excel paslēptu rindas ar negatīvām vērtībām

Tāpat kā varat paslēpt rindas, kurās ir nulle no tās pašas kolonnas, varat paslēpt rindas, kurās ir negatīvas vērtības Arī turpmāk parādītajā datu kopā, kurā E sleja satur gan negatīvas, gan pozitīvas vērtības, mēs redzēsim kodu, kas slēpj tikai negatīvo vērtību.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsNegative() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa caur katru rindu un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur negatīvas vērtības E slejā If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un pamaniet, ka 7 rinda kurā bija negatīva vērtība (-10) vietnē E sleja tagad ir paslēpts, savukārt 10 rinda kas pārvadā 82 nav paslēpts.

8. Programmā Excel iestrādājiet VBA, lai slēptu rindas, kurās ir pozitīvas vērtības

Šoreiz ar tālāk norādīto datu kopu, kurā E sleja satur abas nulles pozitīvās vērtības, mēs redzēsim, ka VBA kods, kas slēpj tikai pozitīvo .

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsPositive() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa cauri katrai rindai un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur pozitīvas vērtības E slejā If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un pamaniet, ka 7 rinda kurā bija pozitīva vērtība (55) vietnē E sleja tagad ir paslēpts, savukārt 10 rinda kas pārvadā 0 nav paslēpts.

Lasīt vairāk: VBA rindiņu slēpšana, pamatojoties uz šūnas vērtību programmā Excel (14 piemēri)

9. Makrogramma, lai programmā Excel paslēptu rindas, kurās ir nepāra skaitļi

Jūs varat paslēpt rindas ar nepāra skaitļiem kā to vērtību. Piemērā, ko mēs parādījām šī raksta sākumā, E sleja ir gan nepāra, gan pāra skaitļi 7. un 10. rinda . Mēs iemācīsimies kodu rindas slēpšana kurā ir nepāra skaitļi tikai.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsOdd() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa cauri katrai rindai un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur pozitīvas vērtības E slejā If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo koda daļu un redzēsiet, ka tikai 7 rinda kurā bija nepāra skaits (55) vietnē E sleja tagad ir paslēpts, savukārt 10 rinda kurā ir pāra skaitlis (82) nav paslēpts.

10. VBA, lai paslēptu rindas, kurās ir pāra skaitļi programmā Excel

Tāpat varat paslēpt rindas ar pāra skaitļiem kā to vērtību. Piemērā, ko mēs parādījām šī raksta sākumā, F sleja ir gan nepāra, gan pāra skaitļi 7. un 10. rinda . Mēs iemācīsimies kodu rindas slēpšana kurā ir pāra skaitļi tikai.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsEven() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa cauri katrai rindai un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur pozitīvas vērtības F slejā If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un redzēsiet, ka tikai 7 rinda kurā bija pāra skaitlis (100) vietnē F sleja tagad ir paslēpts, savukārt 10 rinda kurā ir nepāra skaits (75) nav paslēpts.

Lasīt vairāk: Excel VBA: visu rindu atslēpšana programmā Excel (5 praktiski piemēri)

11. Ievietojiet makroreakciju, lai paslēptu rindas, kas ir lielākas par noteiktu nosacījumu

Jūs varat paslēpt rindas, kas ir lielākas par konkrētu vērtību ar VBA Excel. Pieņemsim, ka vēlaties paslēpt rindas no E sleja kur vērtība ir vairāk nekā 80 . Lūk, kā to izdarīt:

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsGreater() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa cauri katrai rindai un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur pozitīvas vērtības E slejā If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un redzēsiet, ka tikai 10 rinda kurā bija 82 (kas ir lielāks par 80) E sleja tagad ir paslēpts, savukārt 7 rinda kas pārvadā 55 nav paslēpts.

Lasīt vairāk: Slēpt rindas, pamatojoties uz šūnas vērtību, izmantojot nosacīto formatēšanu programmā Excel

12. Embed Macro, lai ietvertu rindas, kas ir mazākas par konkrētu nosacījumu programmā Excel

Varat arī paslēpt rindas, kas ir mazākas par konkrētu vērtību ar VBA Excel. Pieņemsim, ka vēlaties paslēpt rindas no E sleja kur vērtība ir mazāk nekā 80 . Lūk, kā to izdarīt:

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Sub HideRowContainsLess() LastRow = 1000 'Pieņemsim, ka datu kopā ir 1000 rindas For i = 4 To LastRow 'Cilpa cauri katrai rindai un pārbauda vajadzīgo nosacījumu 'Mēs iestatām i = 4, jo mūsu dati sākas no 4. rindas 'Lai paslēptu rindu, kas satur pozitīvas vērtības E slejā If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist šo kodu un redzēsiet, ka tikai 7 rinda kurā bija 55 (kas ir mazāk nekā 80) E sleja tagad ir paslēpts, savukārt 10 rinda tas ir pārvadāšana 82 nav paslēpts.

13. Slēpt rindas, pamatojoties uz šūnas teksta vērtību, izmantojot makroekrānu

Pieņemsim, ka vēlaties paslēpt rindu, kurā atrodas konkrēts teksts Mūsu gadījumā mēs sniegsim piemēru ar rindu, kurā ir vārds " Ķīmija ", 6 rinda un sniegs jums kodu, kā paslēpt šo rindu.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 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 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • StartRow = 4 -> Pirmā rinda datu kopu.
  • LastRow = 10 -> Pēdējā rinda datu kopu.
  • iCol = 4 -> kolonnas adrese ka satur tekstu vērtība.

  • Palaist šo kodu un pamaniet, ka 6. rinda kas sastāv no vārda " Ķīmija " ir paslēpts.

14. Makro, lai paslēptu rindas, pamatojoties uz šūnu skaitlisko vērtību programmā Excel

Iepriekš esat redzējuši, kā paslēpt rindu, pamatojoties uz šūnas teksta vērtību, bet šoreiz uzzināsiet, kā to darīt, ja vērtība ir skaitliska . Mūsu gadījumā mēs sniegsim piemēru ar rindu, kurā ir skaitliskā vērtība " 87 ", 7 rinda un sniegs jums kodu, kā paslēpt šo rindu.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 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 

Tagad jūsu kods ir gatavs darbam.

Šeit,

  • StartRow = 4 -> Pirmā rinda datu kopu.
  • LastRow = 10 -> Pēdējā rinda datu kopu.
  • iCol = 4 -> kolonnas adrese ka satur tekstu vērtība.

  • Palaist šo kodu un pamaniet, ka 7. rinda kas sastāv no skaitliskās vērtības " 87 " ir paslēpts.

Lasīt vairāk: Kā paslēpt rindas, pamatojoties uz šūnu vērtību programmā Excel (5 metodes)

Secinājums

Šajā rakstā tika parādīts, kā paslēpt rindas programmā Excel ar VBA . es ceru, ka šis raksts jums ir bijis ļoti noderīgs. Ja jums ir kādi jautājumi par šo tēmu, droši jautājiet.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.