Excel VBA hurkok: Következő, csináld amíg, addig, mindegyikhez (példákkal)

Ahhoz, hogy a legtöbbet hozhassa ki az Excelből és a VBA -ból, ismernie kell a hurkok hatékony használatát.

A VBA -ban a hurkok lehetővé teszik az objektumok/értékek halmazának végiggondolását és egyesével történő elemzését. Az egyes hurkokhoz speciális feladatokat is végrehajthat.

Íme egy egyszerű példa a VBA -hurkok használatára az Excelben.

Tegyük fel, hogy rendelkezik adatkészlettel, és páros sorokban szeretné kiemelni az összes cellát. A VBA ciklus segítségével végigmehet a tartományon, és elemezheti az egyes cellasorok számát. Ha egyenletesnek bizonyul, színt ad neki, különben hagyja, ahogy van.

Ez természetesen nagyon egyszerű az Excel VBA -ban történő hurkoláshoz (és ezt feltételes formázással is megteheti).

A való életben sokkal többet tehet az Excel VBA -hurkokkal, amelyek segíthetnek a feladatok automatizálásában.

Íme néhány gyakorlati példa, ahol a VBA hurkok hasznosak lehetnek:

  • Lépés a cellák között, és az egyes cellák elemzése (kiemelje a cellákat, amelyekben meghatározott szöveg szerepel).
  • Lépjen végig az összes munkalapon, és tegyen mindegyikkel valamit (például védje/távolítsa el a védelmet).
  • Lépjen végig az összes nyitott munkafüzeten (és mentsen el minden munkafüzetet, vagy zárja be az összeset, kivéve az aktív munkafüzetet).
  • Lépjen végig egy cella összes karakterén (és vonja ki a numerikus részt egy karakterláncból).
  • Lépjen be egy tömb összes értékébe.
  • Lépjen körbe az összes diagramon/objektumon (és adjon szegélyt, vagy változtassa meg a háttérszínt).

Most, hogy a legjobban használhassa a ciklusokat az Excel VBA -ban, tudnia kell a létező különböző típusokról és mindegyik helyes szintaxisáról.

Ebben az oktatóanyagban bemutatom az Excel VBA hurkok különböző típusait, és néhány példát mutatok be minden ciklusra

Megjegyzés: Ez egy hatalmas oktatóanyag lesz, ahol megpróbálom részletesen bemutatni az egyes VBA -hurkokat. Javaslom, hogy könyvjelzővel látja el ezt az oldalt a későbbiekben.

Ha érdekli a VBA egyszerű tanulása, nézze meg az enyémet Online Excel VBA képzés.

Következő hurokhoz

A „Következő” ciklus lehetővé teszi, hogy a megadott számú alkalommal végigmenjen egy kódblokkon.

Például, ha megkérem, hogy manuálisan adja hozzá az 1 -től 10 -ig terjedő egész számokat, akkor az első két számot adja hozzá, majd adja hozzá a harmadik számot az eredményhez, majd adja hozzá a negyedik számot az eredményhez, stb.

Nem?

Ugyanezt a logikát használják a VBA For Next ciklusában is.

Megadhatja, hogy hányszor fusson a ciklus, és azt is, hogy a kódnak mit kell tennie minden egyes ciklus futtatásakor.

Az alábbiakban a For Next ciklus szintaxisa látható:

Számlálóhoz = Kezdet -vég [Lépésérték] [Végrehajtandó kódblokk] Következő [számláló]

A Következő ciklusban használhat egy számlálót (vagy bármilyen változót), amelyet a ciklus futtatására használnak. Ez a számláló lehetővé teszi a ciklus szükséges számú futtatását.

Például, ha hozzá akarom adni az első 10 pozitív egész számot, akkor a számláló értéke 1 és 10 között lesz.

Nézzünk néhány példát, hogy jobban megértsük a For Next ciklus működését.

1. példa - Az első 10 pozitív egész szám hozzáadása

Az alábbiakban az a kód található, amely hozzáadja az első 10 pozitív egész számot a For Next ciklus használatával.

Ezután megjelenik egy üzenetmező, amely a számok összegét mutatja.

Rész HozzáadásSzámok () Dim Összesen egészként Dim Dimenzió Integerként Összesen = 0 Számlázáshoz = 1-10 Összesen = Összesen + Számlálás Következő szám MsgBox Összes végrész

Ebben a kódban a Total értéke 0 -ra van állítva, mielőtt belép a For Next ciklusba.

Miután belép a ciklusba, minden ciklus után megtartja a teljes értéket. Tehát az első ciklus után, amikor a számláló 1, az „Összes” értékből 1 lesz, a második ciklus után pedig 3 (1+2) stb.

És végül, amikor a ciklus véget ér, az „Összes” változó az első 10 pozitív egész szám összegével rendelkezik.

Az MsgBox ezután egyszerűen megjeleníti az eredményt egy üzenetmezőben.

2. példa - Az első 5 páros egész szám hozzáadása

Az első öt páros egész szám összegezéséhez (azaz 2,4,6,8 és 10) hasonló kódra van szüksége, amelynek feltétele, hogy csak a páros számokat vegye figyelembe, és figyelmen kívül hagyja a páratlan számokat.

Itt van egy kód, ami megcsinálja:

Sub AddEvenNumbers () Dim Összesen egészként Dim Dimenzió Integerként Összesen = 0 Számlázáshoz = 2-10 A 2. lépés Összesen = Összesen + Számlálás Következő szám MsgBox Összes végrész

Ne feledje, hogy a Count értéket 2 -ről kezdtük, és a „2. lépés‘.

Amikor használja '2. lépés', azt mondja a kódnak, hogy minden alkalommal, amikor a ciklus fut, 2 -gyel növelje a „Count” értéket.

Tehát a Count érték 2 -ről indul, majd a ciklus bekövetkeztével 4, 6, 8 és 10 lesz.

MEGJEGYZÉS: Ennek másik módja lehet a ciklus 1 és 10 közötti futtatása, és a cikluson belül ellenőrizni, hogy a szám páros vagy páratlan. A Step használata azonban ebben az esetben hatékonyabb módszer, mivel nem szükséges, hogy a ciklus 10 -szer, hanem csak 5 -ször fusson.

A lépés értéke negatív is lehet. Ilyen esetben a számláló magasabb értékről indul, és folyamatosan csökken a megadott lépésértékkel.

3. példa - Sorozatszám bevitele a kiválasztott cellákba

A Következő ciklus segítségével objektumok (például cellák, munkalapok vagy munkafüzetek) gyűjteményét is megtekintheti,

Íme egy példa, amely gyorsan beírja a sorozatszámokat az összes kijelölt cellába.

Sub EnterSerialNumber () Dim Rng tartományként Dim Dimeter Coger Integer Dim RowCount as Integer Set Rng = Selection RowCount = Rng.Rows.Count For Counter = 1 to RowCount ActiveCell.Offset (Counter - 1, 0) .Value = Counter Next Counter End Alatti

A fenti kód először megszámolja a kiválasztott sorok számát, majd ezt az értéket hozzárendeli a RowCount változóhoz. Ezután futtatjuk a ciklust „1 -től RowCount -ig”.

Azt is vegye figyelembe, hogy mivel a kijelölés tetszőleges számú sor lehet, az Rng változót állítsuk Kijelölésre (a „Set Rng = Selection” sorral). Most használhatjuk az „Rng” változót, hogy hivatkozzunk a kódunkban lévő kiválasztásra.

4. példa - Védje az aktív munkafüzet összes munkalapját

A „Következő” ciklus segítségével áttekintheti az aktív munkafüzet összes munkalapját, és megvédheti (vagy megszüntetheti) a munkalapokat.

Az alábbiakban látható a kód, amely ezt megteszi:

Sub ProtectWorksheets () Dim i as Integer For i = 1 Az ActiveWorkbookhoz. Munkalapok. Számolja a munkalapokat (i). Védelem

A fenti kód az ActiveWorkbook.Worksheets.Count használatával számolja a lapok számát. Ez megmondja a VBA -nak, hogy hányszor kell a ciklust futtatni.

Minden esetben az Ith munkafüzetre hivatkozik (az (i) munkalapok használatával), és védi azt.

Ugyanezt a kódot használhatja a munkalapok védelmének megszüntetésére is. Csak változtassa meg a vonalat Munkalapok (i). Védelem nak nek Munkalapok (i) .UnProtect.

Beágyazott „For Next” hurkok

A beágyazott „For Next” ciklusokkal bonyolultabb automatizálást végezhet az Excelben. A beágyazott „For Next” ciklus azt jelentené, hogy a „For Next” ciklusban „For Next” ciklus található.

Hadd mutassam meg egy példa segítségével, hogyan kell ezt használni.

Tegyük fel, hogy 5 munkafüzet van nyitva a rendszeremben, és meg akarom védeni a munkafüzetek összes munkalapját.

Az alábbiakban látható a kód, amely ezt megteszi:

Sub ProtectWorksheets () Dim i Mint Integer Dim j Mint Integer For i = 1 A munkafüzetekhez. Szám: j = 1 A munkafüzetekhez (i). Munkalapok. Számlálja a munkafüzeteket (i). Munkalapok (j). Védelem Következő j Következő i End Sub

A fenti egy beágyazott For Next ciklus, mivel az egyik For Next hurkot használtuk a másikon belül.

„EXIT For” nyilatkozatok a következő hurkokhoz

Az „Exit For” utasítás lehetővé teszi, hogy teljesen kilépjen a „For Next” ciklusból.

Akkor használhatja, ha azt szeretné, hogy a Következő ciklus véget érjen, ha egy bizonyos feltétel teljesül.

Vegyünk egy példát, ahol az A oszlopban van egy számhalmaz, és az összes negatív számot piros betűvel szeretné kiemelni. Ebben az esetben elemezni kell az egyes cellák értékét, majd ennek megfelelően módosítani kell a betűszínét.

De a kód hatékonyabbá tétele érdekében először ellenőrizhetjük, hogy vannak -e negatív értékek a listában. Ha nincsenek negatív értékek, akkor az Exit For utasítás segítségével egyszerűen kijöhet a kódból.

Az alábbiakban ezt a kódot találja:

Sub HghlightNegative () Dim Rng mint tartománykészlet Rng = Tartomány ("A1", Tartomány ("A1"). Vége (xlDown)) Számláló = Rng.Számlálás i = 1 -hez Számlálóhoz Ha WorksheetFunction.Min (Rng)> = 0 Ezután lépjen ki, ha If Rng (i). Érték <0, majd Rng (i). Font.Color = vb Piros Következő i End Sub

Ha az „Exit For” utasítást egy beágyazott „For Next” ciklusban használja, akkor az kilép abból a ciklusból, amelyben végrehajtásra kerül, és folytatja a kód következő sorának végrehajtását a For Next ciklus után.

Például az alábbi kódban az „Exit For” utasítás kilép a belső hurokból, de a külső hurok továbbra is működik.

Sub SampleCode () For i = 1 to 10 For j = 1 to 10 Exit For Next J Next i End Sub

Csinálj hurkot

A „Do Do” ciklus lehetővé teszi, hogy ellenőrizze a feltételt, és futtassa a ciklust, amíg ez a feltétel teljesül (vagy IGAZ).

A Do while Loop kétféle szintaxist tartalmaz.

Végezze el a [Míg feltétel] [Végrehajtandó kódblokk] hurkot

és

Végezze el a [végrehajtandó kódblokk] ciklus [Feltétel]

A kettő közötti különbség az, hogy az elsőben a Míg feltételt ellenőrzik először, mielőtt bármilyen kódblokkot végrehajtanak, a második esetben pedig először a kódblokkot, majd a Míg feltételt.

Ez azt jelenti, hogy ha a While feltétel hamis, akkor mindkét esetben a kód még mindig fut legalább egyszer a második esetben (mivel a „Míg” feltétel a kód egyszeri végrehajtása után be van jelölve).

Most nézzünk néhány példát a Do While ciklusok használatára a VBA -ban.

1. példa - Adja hozzá az első 10 pozitív egész számot a VBA segítségével

Tegyük fel, hogy hozzá szeretné adni az első tíz pozitív egész számot a DoBA ciklus segítségével a VBA -ban.

Ehhez használja a Do Do ciklusot, amíg a következő szám nem éri el vagy nem éri el a 10. Ha a szám nagyobb, mint 1o, a ciklus leáll.

Itt található a VBA -kód, amely futtatni fogja ezt a Do while ciklust, és az eredményt megjeleníti egy üzenetmezőben.

Sub AddFirst10PositiveIntegers () Dim i As Integer i = 1 Do while i <= 10 Result = Result + i i = i + 1 Loop MsgBox Result End Sub

A fenti ciklus addig működik, amíg az „i” értéke 11. nem lesz. Amint 11 -es lesz, a ciklus véget ér (mivel a while feltétel hamis lesz).

A cikluson belül olyan eredményváltozót használtunk, amely a végső értéket tartalmazza. A ciklus befejezése után egy üzenetdoboz mutatja az „Eredmény” változó értékét.

2. példa - Adja meg az aktuális hónap dátumait

Tegyük fel, hogy az aktuális hónap összes dátumát be szeretné írni egy munkalap oszlopba.

Ezt a következő Do while cikluskód használatával teheti meg:

Sub EnterCurrentMonthDates () Dim CMDate mint Date Dim i As Integer i = 0 CMDate = DateSerial (Év (Dátum), Hónap (Dátum), 1) Do Do Month (CMDate) = Hónap (Dátum) tartomány ("A1"). Eltolás (i, 0) = CMDate i = i + 1 CMDate = CMDate + 1 Loop End Sub

A fenti kód az összes dátumot a munkalap első oszlopába írja be (A1 -től kezdve). A ciklusok addig folytatódnak, amíg a „CMDate” változó Hónap értéke megegyezik az aktuális hónapéval.

Kilépés a nyilatkozatból

Az Exit Do utasítással kiléphet a ciklusból. Amint a kód végrehajtja az „Exit Do” sort, kilép a Do Do ciklusból, és közvetlenül a ciklus után átadja a vezérlőt a következő sornak.

Például, ha csak az első 10 dátumot szeretné megadni, akkor az első 10 dátum megadása után kiléphet a ciklusból.

Az alábbi kód ezt teszi:

Sub EnterCurrentMonthDates () Dim CMDate mint Date Dim i As Integer i = 0 CMDate = DateSerial (Év (Dátum), Hónap (Dátum), 1) Do Do Month (CMDate) = Hónap (Dátum) tartomány ("A1"). Eltolás (i, 0) = CMDate i = i + 1 Ha i> = 10 Akkor lépjen ki CMDate = CMDate + 1 Loop End Sub

A fenti kódban az IF utasítást használjuk annak ellenőrzésére, hogy az i értéke nagyobb -e 10 -nél vagy sem. Amint az „i” értéke 10 lesz, az Exit Do utasítás végrehajtódik, és a ciklus véget ér.

Csinálj ciklusig

A „Do Do” ciklusok nagyon hasonlítanak a „Do While” hurkokhoz.

A „Do Do” alatt a ciklus addig fut, amíg az adott feltétel teljesül, míg a „Do Before” alatt a ciklus addig tart, amíg a megadott feltétel teljesül.

A Do till Loop ciklusban kétféle szintaxis létezik.

Végezze el a [feltételig] [Végrehajtandó kódblokk] ciklus végrehajtását

és

Végezze el a [végrehajtandó kódblokk] ciklusát [állapotig]

A kettő között az a különbség, hogy az elsőben a Kód feltételt ellenőrzik először, mielőtt bármilyen kódblokkot végrehajtanak, a második esetben pedig először a Kódblokkot hajtják végre, majd a Kívül feltételt.

Ez azt jelenti, hogy ha a Kelt feltétel IGAZ, akkor mindkét esetben a kód még mindig fut legalább egyszer a második esetben (mivel a „Kedd” feltétel a kód egyszeri végrehajtása után be van jelölve).

Most nézzünk néhány példát a Do Before ciklusok használatára a VBA -ban.

Megjegyzés: A Do Do minden példája megegyezik a Do While példával. Ezeket módosítottuk, hogy megmutassuk, hogyan működik a Do Do ciklus.

1. példa - Adja hozzá az első 10 pozitív egész számot a VBA segítségével

Tegyük fel, hogy hozzá szeretné adni az első tíz pozitív egész számot a VBA Do Do ciklusával.

Ehhez addig kell futtatnia a ciklust, amíg a következő szám nem éri el vagy nem éri el a 10. Amint a szám nagyobb, mint 1o, a ciklus leáll.

Itt található a VBA kód, amely futtatni fogja ezt a ciklust, és megjeleníti az eredményt egy üzenetmezőben.

Sub AddFirst10PositiveIntegers () Dim i As Integer i = 1 Tegye, amíg i> 10 Eredmény = Eredmény + i i = i + 1 Loop MsgBox Eredmény vége Sub

A fenti ciklus addig működik, amíg az „i” értéke 11. nem lesz. Amint 11 lesz, a ciklus véget ér (mivel az „Add” feltétel igaz lesz).

2. példa - Adja meg az aktuális hónap dátumait

Tegyük fel, hogy az aktuális hónap összes dátumát be szeretné írni egy munkalap oszlopba.

Ezt a következő Do till cikluskód használatával teheti meg:

Sub EnterCurrentMonthDates () Dim CMDate as Date Dim i As Integer i = 0 CMDate = DateSerial (Év (Dátum), Hónap (Dátum), 1) Do For Month (CMDate) Hónap (Dátum) tartomány ("A1"). Eltolás ( i, 0) = CMDate i = i + 1 CMDate = CMDate + 1 Loop End Sub

A fenti kód az összes dátumot a munkalap első oszlopába írja be (A1 -től kezdve). A ciklus addig tart, amíg a változó CMDate hónapja nem egyenlő az aktuális hónapéval.

Kilépés a nyilatkozatból

Az „Exit Do” utasítással kiléphet a ciklusból.

Amint a kód végrehajtja az „Exit Do” sort, kilép a Do Do ciklusból, és közvetlenül a ciklus után átadja a vezérlőt a következő sornak.

Például, ha csak az első 10 dátumot szeretné megadni, akkor az első 10 dátum megadása után kiléphet a ciklusból.

Az alábbi kód ezt teszi:

Sub EnterCurrentMonthDates () Dim CMDate mint Date Dim i As Integer i = 0 CMDate = DateSerial (Év (Dátum), Hónap (Dátum), 1) Do For Month (CMDate) Hónap (Dátum) tartomány ("A1"). Eltolás ( i, 0) = CMDate i = i + 1 Ha i> = 10 Akkor lépjen ki CMDate = CMDate + 1 Loop End Sub

A fenti kódban, amint az „i” értéke 10 lesz, az Exit Do statment végrehajtásra kerül, és a ciklus véget ér.

Az egyes

A VBA -ban a gyűjtemények halmazát a „Mindegyikhez” hurokkal használhatja.

Íme néhány példa az Excel VBA gyűjteményeire:

  • Az összes nyitott munkafüzet gyűjteménye.
  • A munkafüzet összes munkalapjának gyűjteménye.
  • A kijelölt cellák tartományának összes cellája.
  • A munkafüzet összes diagramjának vagy alakzatának gyűjteménye.

A „Mindegyikhez” hurok használatával végighaladhat a gyűjtemény minden objektumán, és végrehajthat rajta néhány műveletet.

Például átnézheti a munkafüzet összes munkalapját, és megvédheti ezeket, vagy áttekintheti a kijelölés összes celláját, és módosíthatja a formázást.

A „Mindegyikhez” hurokkal (más néven „Minden egyes következő” hurokkal) nem kell tudnia, hogy hány objektum található a gyűjteményben.

A „For each” ciklus automatikusan végigmegy minden objektumon, és elvégzi a megadott műveletet. Például, ha meg szeretné védeni a munkafüzet összes munkalapját, a kód ugyanaz lesz, függetlenül attól, hogy van -e munkafüzete 3 vagy 30 munkalappal.

Itt található az Excel VBA minden egyes következő ciklusának szintaxisa.

A gyűjtemény minden eleméhez [Végrehajtandó kódblokk] Következő [elem]

Most nézzünk meg néhány példát az Excel Minden hurok használatára.

1. példa - Nézze át a munkafüzet összes munkalapját (és védje meg)

Tegyük fel, hogy van egy munkafüzete, ahol meg szeretné védeni az összes munkalapot.

Az alábbiakban a Minden egyes következő ciklus számára ezt egyszerűen megteheti:

Sub ProtectSheets () Dim ws munkalapként minden ws -hez az ActiveWorkbookban. Munkalapok ws. Védelem Következő ws End Sub

A fenti kódban a „ws” változót munkalap objektumként definiáltuk. Ez azt mondja a VBA -nak, hogy a „ws” -t munkalap -objektumként kell értelmezni a kódban.

Most a „Mindegyikért” utasítást használjuk az „ws” (munkalap -objektum) minden aktív munkafüzetben található munkalap (az ActiveWorkbook.Worksheets által megadott) gyűjteményének áttekintéséhez.

Ne feledje, hogy ellentétben más hurokkal, ahol a munkafüzet összes munkalapját megpróbáltuk védeni, itt nem kell aggódnunk, hogy hány munkalap található a munkafüzetben.

A ciklus futtatásához nem kell ezeket számolnunk. For Every loop biztosítja, hogy az összes objektumot egyenként elemezze.

2. példa - Nézze meg az összes nyitott munkafüzetet (és mentse az összeset)

Ha egyszerre több munkafüzettel dolgozik, jól jöhet, ha ezeket a munkafüzeteket egyszerre mentheti.

Az alábbi VBA -kód ezt megteheti számunkra:

Sub SaveAllWorkbooks () Dim wb munkafüzetként minden wb -hez a munkafüzetekben wb. Következő mentése wb End Sub

Ne feledje, hogy ebben a kódban nem kap olyan üzenetet, amely arra kéri, hogy mentse el a munkafüzetet egy adott helyre (ha először menti).

Az alapértelmezett mappába menti (esetemben a „Dokumentumok” mappa volt). Ez a kód akkor működik a legjobban, ha ezeket a fájlokat már elmentette, és módosításokat hajt végre, és gyorsan szeretné menteni az összes munkafüzetet.

3. példa - Menjen végig a kiválasztott összes cellán (jelölje ki a negatív értékeket)

A „Mindegyikhez” ciklus használatával ciklikusan végigmehet egy adott tartományban vagy a kiválasztott tartományban.

Ez akkor lehet hasznos, ha elemezni szeretné az egyes cellákat, és ezek alapján akciót szeretne végrehajtani.

Például az alábbiakban látható a kód, amely végigmegy a kijelölés összes celláján, és a negatív értékű cellák cellaszínét vörösre változtatja.

Sub HighlightNegativeCells () Dim Cll tartományként minden kiválasztott Cll esetén

(Megjegyzés: a Cll -t használtam a Cell rövid változónévjeként. Célszerű, hogy ne használjunk objektumneveket, például Sheets vagy Range változónevekként)

A fenti kódban a Minden egyes következő ciklus végigmegy a kijelölt cellák gyűjteményén. Az IF utasítás annak azonosítására szolgál, hogy a cella értéke negatív -e vagy sem. Abban az esetben, ha a cella piros belső színt kap, különben a következő cellába kerül.

Ha nincs kijelölése, és azt szeretné, ha a VBA egy adott cellából kiindulva kijelölné az oszlop összes kitöltött celláját (ahogyan a Control + Shift + lefelé mutató nyílbillentyűket használjuk az összes kitöltött cella kiválasztásához), használja az alábbi kódot:

Sub HighlightNegativeCells () Dim Cll mint tartomány Dim Rng mint tartománykészlet Rng = Tartomány ("A1", Tartomány ("A1"). Vége (xlDown)) Minden Cll In Rng esetén Ha Cll.Value <0 then Cll.Interior.Color = vbVörös vége, ha a következő Cll End Sub

A fenti példában nem mindegy, hogy hány töltött sejt van. Az A1 cellából indul, és elemzi az oszlop összes szomszédos töltött celláját.

Az A1 cella kiválasztása sem szükséges. Bármely távoli cella kiválasztható, és amikor a kód fut, akkor is figyelembe veszi az A oszlop összes celláját (A1-től kezdve), és kiszínezi a negatív cellákat.

„Kilépés” kifejezés

Használhatja az „Exit For” utasítást a Minden egyes következő ciklusban, hogy kilépjen a ciklusból. Ez általában akkor történik, ha egy adott feltétel teljesül.

Például a 3. példában, amikor cellák halmazán megyünk keresztül, hatékonyabb lehet annak ellenőrzése, hogy vannak -e negatív értékek vagy sem. Ha nincsenek negatív értékek, egyszerűen kiléphetünk a ciklusból, és megtakaríthatunk egy kis VBA feldolgozási időt.

Az alábbiakban látható a VBA kód, amely ezt teszi:

Sub HighlightNegativeCells () Dim Cll tartományként minden Cll -hez a Selection If WorksheetFunction.Min (Selection)> = 0 Akkor lépjen ki, ha Cll.Value <0 then Cll.Interior.Color = vbRed End If Next Cll End Sub

Hová tegye a VBA kódot

Kíváncsi vagy, hova kerül a VBA -kód az Excel -munkafüzetben?

Az Excel rendelkezik VBA háttérprogrammal, amelyet VBA -szerkesztőnek hívnak. Másolja és illessze be a kódot a VB Editor modul ablakába.

Ehhez tegye a következő lépéseket:

  1. Lépjen a Fejlesztő fülre.
  2. Kattintson a Visual Basic lehetőségre. Ez megnyitja a VB szerkesztőt a háttérben.
  3. A VB szerkesztő Project Explorer ablaktáblájában kattintson jobb gombbal a munkafüzet bármely olyan objektumára, amelybe be szeretné illeszteni a kódot. Ha nem látja a Project Explorer programot, lépjen a Nézet fülre, és kattintson a Project Explorer elemre.
  4. Lépjen a Beszúrás elemre, és kattintson a Modul elemre. Ezzel beszúr egy modulobjektumot a munkafüzetébe.
  5. Másolja ki és illessze be a kódot a modul ablakába.
wave wave wave wave wave