Satura rādītājs
Šajā pamācībā mēs aplūkosim, kā izmantot VBA Lai novērstu vienas un tās pašas darbības atkārtošanos, mēs izmantojam cilpas. Strādājot programmā Microsoft Excel , mēs varam nonākt situācijā, kad viens un tas pats uzdevums ir jāveic vairākas reizes. To varam viegli izdarīt, izmantojot cilpas, kas ir VBA . Šajā rakstā mēs demonstrēsim 6 piemēri, lai veiktu cilpu caur rindām programmā Excel ar VBA . Visos piemēros mēs izmantosim cilpu For-Next cilpa '.
Lejupielādēt Practice Workbook
Mēs varam lejupielādēt prakses darba burtnīcu no šejienes.
VBA cilpa caur rindām diapazonā Range.xlsm6 piemēri, kā ar VBA programmā Excel veikt cilpu caur rindām diapazonā
Lai ilustrētu šīs pamācības piemērus, mēs izmantosim šādu datu kopu. Datu kopa satur pārdošanas apjomus par pirmajiem diviem mēnešiem, kad 5 pārdevēji .
1. Izmantojiet VBA diapazonā ar diapazona mainīgo, lai veidotu cilpu caur rindām
Pirmajā piemērā mēs izmantosim diapazona mainīgo, lai veiktu cilpu caur rindām diapazonā, izmantojot VBA programmā Excel. Mēs piemērosim VBA cilpa šajā datu kopā.
Apskatīsim šī piemēra izpildes darbības.
PASĀKUMI:
- Vispirms dodieties uz aktīvo darblapu Diapazons Mainīgais '.
- Turklāt, ar peles labo pogu noklikšķiniet uz un atlasiet opciju Skatīt kodu '. Varat arī nospiest Alt + F11 lai to atvērtu.
- Iepriekš minētā darbība atver šīs darblapas kodu logu.
- Turklāt ievadiet kodu koda logā:
Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub
- Pēc tam noklikšķiniet uz Palaist vai nospiediet F5 lai palaistu kodu.
- Visbeidzot, mēs iegūsim rezultātus, kas līdzinās tālāk redzamajam ekrānšāviņam.
Lasīt vairāk: Excel VBA: cilpa caur kolonnām diapazonā (5 piemēri)
2. Piemērot VBA, lai veiktu cilpu caur rindām diapazonā ar skaitlisku mainīgo
Vēl viena iespēja, kā veikt cilpu caur rindām diapazonā, ir atlasīt mainīgo. Otrajā piemērā mēs piemērosim VBA datu kopā, lai veiktu cilpu caur rindām diapazonā ar skaitliskajiem mainīgajiem.
Apskatīsim šīs metodes izpildes soļus.
PASĀKUMI:
- Pirmkārt, ar peles labo pogu noklikšķiniet uz aktīvajā lapā ar nosaukumu Skaitliskā vērtība '.
- Pēc tam atlasiet opciju Skatīt kodu '.
- Veicot šo darbību, tiks atvērts attiecīgās darblapas koda logs. Varat arī nospiest Alt + F11 lai atvērtu šo koda logu.
- šajā logā ievadiet šādu kodu:
Sub VBA_Numeric_Variable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub
- Pēc tam noklikšķiniet uz Palaist vai nospiediet F5 taustiņu, lai palaistu kodu.
- Visbeidzot, mēs varam redzēt rezultātus, kas attēloti attēlā. Iepriekš minētais kods maina skaitļa formātu uz decimāldaļu.
Lasiet vairāk: VBA cilpas izveide, lai Excel programmā Excel izietu rindas un kolonnas (5 piemēri)
3. Excel VBA lietotāja izvēlētajā diapazonā, lai veidotu cilpu caur rindām diapazonā
Trešajā piemērā mēs izmantosim VBA lietotāja izvēlētajā diapazonā, lai veidotu cilpu caur rindām diapazonā. Tādējādi lietotājs varēs piemērot cilpu izvēlētajā datu kopas apgabalā.
Apskatīsim ar šo piemēru saistītos soļus.
PASĀKUMI:
- Sākumā atlasiet šūnu diapazonu ( D5:D9 ).
- Nākamais, ar peles labo pogu noklikšķiniet uz aktīvajā lapā ar nosaukumu Izvēlēts lietotājs '. Izvēlieties opciju Skatīt kodu '.
- Iepriekš minētā komanda atvērs VBA aktīvās darblapas koda logu. Šo koda logu var atvērt arī, nospiežot Alt + F11 Šajā tukšajā koda logā ievietojiet šādu kodu:
Sub VBA_User_Selection() Dim w As Variant Set xRange = Atlase For Each w In xRange MsgBox "Cell value = " & amp; w.Value Next w End Sub
- Pēc tam, lai palaistu šīs darblapas kodu, noklikšķiniet uz Palaist vai nospiediet F5 atslēga.
- Tādējādi tiek parādīts ziņojuma lodziņš, kurā tiek parādīta izvēlētā diapazona pirmā vērtība.
- Turklāt, ja noklikšķiniet uz LABI tiks atgriezta atlasītā diapazona otrā vērtība, kas ir šūna D6 .
- Šis process turpināsies, līdz atlasītā diapazona pēdējā vērtība, kas ir šūna. D9 .
Lasīt vairāk: Kā izmantot VBA, lai saskaitītu rindas diapazonā ar datiem programmā Excel (5 makroekrāni)
Līdzīgi lasījumi
- Kā izmantot VBA, lai atlasītu diapazonu no aktīvās šūnas programmā Excel (3 metodes)
- Excel makro: vairāku kolonnu šķirošana ar dinamisko diapazonu (4 metodes)
- Kā konvertēt diapazonu uz masīvu programmā Excel VBA (3 veidi)
4. Cilpa caur rindām dinamiskajā diapazonā, izmantojot VBA
Ceturtajā piemērā mēs piemērosim VBA lai veidotu cilpu caur dinamiskā diapazona rindām. Šis piemērs nedaudz atšķiras no iepriekšējiem. Mēs varēsim pielāgot diapazonu cilpā Excel darblapai. Mēs izmantosim šādu datu kopu, lai ilustrētu šo metodi. Šajā datu kopā mēs aizpildīsim diapazona vērtības ( B8:C12 ) ar konkrētu vērtību.
Lai veiktu šo metodi, vienkārši izpildiet tālāk norādītās darbības.
PASĀKUMI:
- Pirmkārt, ievades vērtība 6 šūnā B1 un C šūnā B2 .
- Otrkārt, ar peles labo pogu noklikšķiniet uz uz aktīvās šūnas un atlasiet iespēju Skatīt kodu '.
- Ar šo komandu tiks atvērts VBA aktīvās darblapas koda logu. Cits veids, kā atvērt šo koda logu, ir nospiest Alt + F11 .
- Treškārt, šajā koda logā ievietojiet šādu kodu:
Sub Dynamic_Range() Dim xRange As String xRange = "B8:" + Worksheets("Dynamic Range").Cells(2, 2).Value + _ CStr(3 + Worksheets("Dynamic Range").Cells(1, 2).Value) For Each Row In Range(xRange) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub
- Tagad, lai palaistu kodu, noklikšķiniet uz Palaist vai nospiediet F5 atslēga.
- Rezultātā datu kopa aizpildās ar vērtību $2500.00 šādi.
PIEZĪME:
Iepriekš redzamajā attēlā vērtība 6 ir diapazona pirmās divas rindas ( B8:B9 ).
- Visbeidzot, ievadiet vērtību 9 šūnā B1 nevis 6 . Rezultāti redzami nākamajā attēlā.
5. Ievietojiet VBA, lai veidotu cilpu caur visu rindu diapazonā
Piektajā piemērā mēs redzēsim, kā mēs varam piemērot VBA lai veiktu cilpu caur visu rindu diapazonā. Šajā piemērā tiks atrasta konkrētas vērtības pozīcija no atlasītās vienas vai vairākām rindām.
Apskatīsim soļus, ko veiksim, lai izpildītu šo piemēru.
PASĀKUMI:
- Vispirms, ar peles labo pogu noklikšķiniet uz aktīvajā lapā ar nosaukumu Visa rinda '. Izvēlieties opciju Skatīt kodu '.
- Iepriekš minētā komanda atver tukšu VBA aktīvās darblapas koda logu. Šo koda logu varam iegūt arī, nospiežot Alt + F11 .
- Pēc tam šajā koda logā ievietojiet šādu kodu:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris found at " & w.Address End If Next w End Sub
- Pēc tam noklikšķiniet uz Palaist vai nospiediet F5 taustiņu, lai palaistu kodu.
- Iepriekš redzamajā attēlā izceltā vērtība Chris ' norāda vērtību, kuru meklēsim. Diapazona vērtība ' 5:9 ' norāda, ka mēs meklēsim vērtību šūnu diapazonā ( B5:B9 ).
- Visbeidzot, tiek parādīts ziņojuma logs, ka vērtība Chris ' atrodas šūnā B6 .
Lasīt vairāk: Kā lietot VBA katrai rindai diapazonā programmā Excel
6. Cilpa caur katru n-to rindu diapazonā ar Excel VBA
Pēdējā piemērā mēs piemērosim VBA lai cilpu caur katru n-tā Rindas diapazonā. Nākamajā datu kopā mēs izmantosim krāsu ēnojumu mūsu datu diapazona nepāra rindu skaitam.
Apskatīsim šīs metodes izpildes soļus.
PASĀKUMI:
- Pirmkārt, ar peles labo pogu noklikšķiniet uz aktīvajā lapā ar nosaukumu n-tā rinda '. Izvēlieties opciju Skatīt kodu '.
- Pēc tam tiek atvērts tukšs VBA šīs darblapas koda logu. Šo koda logu var iegūt arī, nospiežot Alt + F11 .
- Pēc tam šajā koda logā ievadiet šādu kodu:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'even rows .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Tagad noklikšķiniet uz Palaist vai nospiediet F5 taustiņu, lai palaistu kodu.
- Visbeidzot, mēs redzam, ka iepriekš minētais kods aizēno tikai nepāra rindu skaitu no mūsu datu kopas.
Lasīt vairāk: Excel VBA, lai veiktu cilpu caur diapazonu līdz tukšai šūnai (4 piemēri)
Secinājums
Nobeigumā šī pamācība sniedz jums 6 piemēri, kā veikt cilpu caur rindām diapazonā ar VBA Lejupielādējiet šajā rakstā iekļauto prakses darba lapu, lai pārbaudītu savas prasmes. Ja jums ir kādi jautājumi, lūdzu, atstājiet komentāru zemāk redzamajā lodziņā. Mūsu komanda centīsies atbildēt uz jūsu ziņu pēc iespējas ātrāk. Sekojiet līdzi vēl citiem atjautīgiem Microsoft Excel risinājumus nākotnē.