Turinys
Šioje pamokoje aprašysime, kaip naudoti VBA ciklą per eilutes, esančias excel diapazone. Ciklus naudojame tam, kad išvengtume to paties veiksmo kartojimo. Dirbdami su "Microsoft Excel , galime atsidurti tokioje padėtyje, kai tą pačią užduotį turime atlikti daug kartų. Tai galime lengvai padaryti naudodami ciklus VBA . Šiame straipsnyje parodysime. 6 pavyzdžiai, kaip "excel" programoje sudaryti ciklą per eilutes su VBA . Visuose pavyzdžiuose naudosime ciklą "For-Next" ciklas '.
Atsisiųsti praktikos sąsiuvinį
Praktikos sąsiuvinį galite atsisiųsti iš čia.
VBA kilpa per eilutes Range.xlsm6 pavyzdžiai, kaip "Excel" programoje "VBA" sukti kilpas per eilutes diapazone
Šios pamokos pavyzdžiams iliustruoti naudosime šį duomenų rinkinį. Duomenų rinkinyje yra pirmųjų dviejų mėnesių pardavimų sumos. 5 pardavėjai .
1. Naudokite VBA diapazone su diapazono kintamuoju, kad galėtumėte pasukti kilpą per eilutes
Pirmajame pavyzdyje naudosime diapazono kintamąjį, kad per eilutes, esančias diapazone, pereitume ciklą naudodami VBA Excel programoje. Taikysime VBA ciklas šiame duomenų rinkinyje.
Pažiūrėkime, kaip atlikti šį pavyzdį.
ŽINGSNIAI:
- Pirmiausia eikite į aktyvųjį darbalapį Diapazonas Kintamasis '.
- Be to, dešiniuoju pelės klavišu spustelėkite ir pasirinkite parinktį Peržiūrėti kodą '. Taip pat galite paspausti Alt + F11 kad jį atidarytumėte.
- Atlikus pirmiau nurodytą veiksmą atveriamas to darbalapio kodo langas.
- Be to, įveskite kodą į kodo langą:
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
- Tada spustelėkite Paleisti arba paspauskite F5 paleisti kodą.
- Galiausiai gausime tokius rezultatus, kaip šiame paveikslėlyje.
Skaityti daugiau: "Excel VBA": ciklas per stulpelius diapazone (5 pavyzdžiai)
2. Taikykite VBA, norėdami sudaryti ciklą per eilutes diapazone su skaitmeniniu kintamuoju
Kita galimybė atlikti ciklą per eilutes diapazone - pasirinkti kintamąjį. Antrajame pavyzdyje taikysime VBA toliau pateiktame duomenų rinkinyje, norėdami cikliškai pereiti per eilutes, kuriose yra skaitinių kintamųjų.
Apžvelkime šio metodo atlikimo veiksmus.
ŽINGSNIAI:
- Pirma, dešiniuoju pelės klavišu spustelėkite aktyviajame lape, pavadintame Skaitmeninė reikšmė '.
- Tada pasirinkite parinktį Peržiūrėti kodą '.
- Atlikus šį veiksmą bus atidarytas to darbalapio kodo langas. Taip pat galite paspausti Alt + F11 atidaryti tą kodo langą.
- tame lange įveskite šį kodą:
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
- Po to spustelėkite Paleisti arba paspauskite F5 paleisti kodą.
- Galiausiai galime matyti tokius rezultatus, kaip šiame paveikslėlyje. Pirmiau pateiktas kodas pakeičia skaičiaus formatą į dešimtainį.
Skaityti daugiau: VBA ciklas per "Excel" eilutes ir stulpelius (5 pavyzdžiai)
3. "Excel" VBA naudotojo pasirinktame diapazone, kad būtų galima sudaryti ciklą per eilutes diapazone
Trečiajame pavyzdyje naudosime VBA naudotojo pasirinktame intervale, kad būtų galima taikyti ciklą per intervalo eilutes. Taigi naudotojas galės taikyti ciklą pasirinktoje duomenų rinkinio srityje.
Peržiūrėkime su šiuo pavyzdžiu susijusius veiksmus.
ŽINGSNIAI:
- Pradžioje pasirinkite ląstelių intervalą ( D5:D9 ).
- Kitas, dešiniuoju pelės klavišu spustelėkite aktyviajame lape, pavadintame Pasirinktas naudotojas '. Pasirinkite parinktį Peržiūrėti kodą '.
- Pirmiau pateikta komanda atidarys VBA aktyvaus darbalapio kodo langą. Šį kodo langą taip pat galite atidaryti paspausdami Alt + F11 . Tame tuščiame kodo lange įterpkite šį kodą:
Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "Cell value = " & amp; w.Value Next w End Sub
- Tada, norėdami paleisti tos darbalapio kodą, spustelėkite Paleisti arba paspauskite F5 raktas.
- Taigi, rodomas pranešimo langas, kuriame rodoma pirmoji pasirinkto intervalo reikšmė.
- Be to, jei spustelėsite GERAI bus grąžinta antroji pasirinkto intervalo vertė, t. y. ląstelė D6 .
- Šis procesas bus tęsiamas tol, kol paskutinė pasirinkto diapazono vertė, t. y. ląstelė D9 .
Skaityti daugiau: Kaip naudoti VBA, kad suskaičiuotumėte eilutes diapazone su "Excel" duomenimis (5 makrokomandos)
Panašūs skaitiniai
- Kaip naudoti VBA, norint pasirinkti diapazoną iš aktyvios ląstelės "Excel" programoje (3 metodai)
- "Excel" makrokomanda: kelių stulpelių rūšiavimas naudojant dinaminį diapazoną (4 metodai)
- Kaip konvertuoti diapazoną į masyvą "Excel VBA" (3 būdai)
4. Dinaminio diapazono eilučių ciklas naudojant VBA
Ketvirtajame pavyzdyje taikysime VBA ciklo eilutėms dinamiškame intervale. Šis pavyzdys šiek tiek skiriasi nuo ankstesniųjų. Galėsime pritaikyti ciklo intervalą Excel darbalapiui. Šiam metodui iliustruoti naudosime toliau pateiktą duomenų rinkinį. Toliau pateiktame duomenų rinkinyje užpildysime intervalo reikšmes ( B8:C12 ) su konkrečia verte.
Norėdami atlikti šį metodą, atlikite toliau nurodytus veiksmus.
ŽINGSNIAI:
- Pirma, įvesties vertė 6 ląstelėje B1 ir C ląstelėje B2 .
- Antra, dešiniuoju pelės klavišu spustelėkite ant aktyvios ląstelės ir pasirinkite parinktį Peržiūrėti kodą '.
- Ši komanda atidaro VBA kodo langą aktyviame darbalapyje. Kitas būdas atidaryti šį kodo langą - paspausti Alt + F11 .
- Trečia, tame kodo lange įterpkite šį kodą:
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
- Dabar, norėdami paleisti kodą, spustelėkite Paleisti arba paspauskite F5 raktas.
- Dėl to duomenų rinkinys užpildomas verte $2500.00 taip.
PASTABA:
Pirmiau pateiktame paveikslėlyje vertė 6 yra pirmosios dvi diapazono eilutės ( B8:B9 ).
- Galiausiai įveskite vertę 9 ląstelėje B1 vietoj 6 . Rezultatus matome šiame paveikslėlyje.
5. Įterpkite VBA, norėdami sudaryti kilpą per visą eilutę diapazone
Penktajame pavyzdyje pamatysime, kaip galime taikyti VBA per visą eilutės intervalą. Šiame pavyzdyje bus rasta konkrečios reikšmės pozicija iš pasirinktos vienos ar kelių eilučių.
Taigi, pažiūrėkime, kokius veiksmus atliksime norėdami įvykdyti šį pavyzdį.
ŽINGSNIAI:
- Pirmiausia, dešiniuoju pelės klavišu spustelėkite aktyviajame lape, pavadintame Visa eilutė '. Pasirinkite parinktį Peržiūrėti kodą '.
- Pirmiau pateikta komanda atveria tuščią VBA aktyvaus darbalapio kodo langą. Šį kodo langą taip pat galime gauti paspaudę Alt + F11 .
- Toliau į tą kodo langą įterpkite šį kodą:
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
- Tada spustelėkite Paleisti arba paspauskite F5 paleisti kodą.
- Pirmiau pateiktame paveikslėlyje paryškinta reikšmė Chrisas ' nurodo reikšmę, kurios ieškosime. Kategorijos reikšmė ' 5:9 ' rodo, kad reikšmės ieškosime ląstelių intervale ( B5:B9 ).
- Galiausiai rodomas pranešimo langas, kad reikšmė Chrisas ' yra ląstelėje B6 .
Skaityti daugiau: Kaip naudoti VBA kiekvienai "Excel" diapazono eilutei
6. "Excel VBA" programa "Loop Through Every n-th Row in Range" (ciklas per kiekvieną n-ąją eilutę diapazone)
Paskutiniame pavyzdyje taikysime VBA ciklą per kiekvieną n-oji Eilutės diapazone. Toliau pateiktame duomenų rinkinyje taikysime spalvotą atspalvį mūsų duomenų diapazono nelyginio skaičiaus eilutėms.
Taigi, pažiūrėkime, kaip atlikti šį metodą.
ŽINGSNIAI:
- Pirma, dešiniuoju pelės klavišu spustelėkite aktyviajame lape, pavadintame n-oji eilutė '. Pasirinkite parinktį Peržiūrėti kodą '.
- Tada atidaromas tuščias VBA to darbalapio kodo langą. Šį kodo langą taip pat galime gauti paspaudę Alt + F11 .
- Tuomet toliau tame kodo lange įveskite šį kodą:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'lyginės eilutės .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Dabar spustelėkite Paleisti arba paspauskite F5 paleisti kodą.
- Galiausiai matome, kad pirmiau pateiktas kodas iš mūsų duomenų rinkinio nustelbia tik nelyginio skaičiaus eilutes.
Skaityti daugiau: "Excel" VBA ciklas per diapazoną, kol bus tuščias langelis (4 pavyzdžiai)
Išvada
Apibendrinant, ši pamoka suteikia jums 6 eilučių ciklo per diapazono eilutes pavyzdžiai su VBA atsisiųskite šiame straipsnyje pateiktą praktinę lentelę ir išbandykite savo įgūdžius. Jei turite klausimų, palikite komentarą toliau esančiame laukelyje. Mūsų komanda pasistengs kuo greičiau atsakyti į jūsų žinutę. Laukite daugiau išradingų "Microsoft Excel sprendimus ateityje.