A legjobb VBA útmutató (kezdőknek), amire mindig szüksége lesz


A szinte az összes Microsoft Office termékben futó VBA programozás platform az egyik legerősebb eszköz, amelyet bárki felhasználhat e termékek használatának fokozására.

Ez a VBA útmutató A kezdők megmutatják, hogyan kell hozzáadni a Fejlesztő menüt az Office alkalmazáshoz, hogyan kell belépni a VBA szerkesztőablakba, és hogyan működnek az alapvető VBA nyilatkozatok és hurkok, hogy elinduljon a VBA használatával az Excel, a Word, a Powerpoint, az Outlook és a OneNote alkalmazásban. .

Ez A VBA útmutató a Microsoft Office termékek legújabb verzióját használja. Ha van egy korábbi verziója, akkor némi eltérést tapasztalhat a képernyőképektől.

A VBA-szerkesztő engedélyezése és használata

Az Office bármelyikében Ha ebben az útmutatóban használt termékeket használ, észreveheti, hogy nincs a hivatkozott Fejlesztői menü. A fejlesztői menü csak az Excel, Word, Outlook és Powerpoint fájlokban érhető el. A OneNote nem kínál eszközt a VBA-kód szerkesztéséhez az alkalmazáson belül, de hivatkozhat a OneNote API-ra, hogy interakcióba léphessen más Office programok OneNote-jával.

Ezt megtudhatja a közelgő Speciális VBA útmutatóban.

  • Ahhoz, hogy bármilyen irodai termékben engedélyezze a Fejlesztő menüt, válassza a Fájlmenüt, és válassza a bal oldali navigációs menüben az Opcióklehetőséget.
  • Megjelenik az Opciók menü felbukkanó menüje. Válassza a Szalag testreszabásaelemet a bal oldali navigációs menüből.
  • A bal oldali lista tartalmazza az adott Office alkalmazásban elérhető összes menüt és menüparancsot. A jobb oldalon található listák jelenleg elérhetők vagy aktívak.

    In_content_1 all: [300x250] / dfp: [640x360]->
    • A jobb oldalon lévő fejlesztőnek látnia kell, de ez nem lesz aktiválva. Csak jelölje be a jelölőnégyzetet a Fejlesztő menü aktiválásához.
      • Ha nem látja a jobb oldalon a Fejlesztőt, akkor váltson a bal oldali Parancsok kiválasztásalehetőségre a legördülő menüből Minden parancs. Keresse meg a Fejlesztőlehetőséget a listából, és válassza a közepén az Hozzáadás>>lehetőséget, hogy hozzáadja ezt a menüt a szalaghoz.
      • Válassza az OK>ha kész.
      • Ha a Fejlesztő menü aktív, visszatérhet az alkalmazás főablakához, és a felső menüből kiválaszthatja a Fejlesztőlehetőséget.
      • Ezután válassza ki a Kód megtekintéseelemet a szalagon lévő Vezérlők csoportból a VBA szerkesztő ablakának megnyitásához.
        • Megnyitja a VBA szerkesztő ablakot, ahol beírhatja a következő néhány szakaszban megtanuló kódot.
          • Próbáljon hozzá Fejlesztő menüt néhány napi Office alkalmazáshoz . Miután kényelmesen megnyitotta a VBA szerkesztő ablakot, folytassa az útmutató következő szakaszával.
          • Általános VBA programozási tippek kezdőknek

            Megfigyelheti, amikor a VBA szerkesztő megnyílik, a bal oldali panelen lévő navigációs beállítások különböznek az Office alkalmazásoktól.

            Ennek oka az, hogy a rendelkezésre álló objektumok, ahová VBA-kódot helyezhetnek, attól függ, hogy milyen objektumok vannak az alkalmazásban. Például az Excel programban VBA-kódot adhat a munkafüzethez vagy a lapobjektumokhoz. A Word alkalmazásban hozzáadhat VBA-kódot a dokumentumokhoz. A Powerpoint alkalmazásban csak a modulokra.

            Tehát ne lepődj meg a különféle menükkel. A VBA kód felépítése és szintaxisa minden alkalmazásban azonos. Az egyetlen különbség az objektumok, amelyekre hivatkozhat, és azok a műveletek, amelyeket ezekkel az objektumokkal a VBA-kódon keresztül végrehajthat. nézd meg a leggyakoribb VBA-struktúrát és szintaxist, amelyet VBA-kód írásakor használhat.

            Hova kell elhelyezni a VBA-kódot

            A VBA szerkesztőben a szerkesztési ablak tetején található két legördülő mezőt kell kiválasztania ahhoz, hogy melyik objektumhoz csatolja a kódot, és mikor szeretné futtatni a kódot.

            Például a Az Excel, ha a Munkalapés az Aktiváláslehetőséget választja, akkor a kód fut a munkalap megnyitásakor.

            Egyéb munkalap A VBA-kód elindításához felhasználható műveletek közé tartozik a munkalap megváltoztatása, bezárása (deaktiválása), a munkalap-számítás futtatása és így tovább.

            A VBA-kód hozzáadásakor a szerkesztőben feltétlenül helyezze el a VBA-kódot az objektumra, és a helyes művelettel végezze el a kód aktiválását.

            VBA IF-utasítások

            IF Az utasítás a VBA-ban működik, csakúgy, mint bármely más programozási nyelven.

            Az IF utasítás első része azt vizsgálja, hogy egy feltétel vagy feltételkészlet igaz-e. Ezeket a feltételeket egy ÉS vagy VAGY operátor csatlakoztathatja, hogy összekapcsolják őket. sikertelen állapot egy másik cellára.

            Ha cella (2, 2)>75, akkor cella (2, 3) = „átadja” a többi cellát (2, 3) = „sikertelen”>

            Ha nem akarja, hogy a teljes utasítás egyetlen sorban legyen, akkor több sorra oszthatja, ha a sor végére egy „_” szimbólumot ad.

            Ha cella (2, 2)>75, akkor _
            Cella (2, 3) = “Pass” Else _
            Cells (2, 3) = “Fail”

            Ennek a technikának a használata gyakran sokkal könnyebbé teszi a kód olvasását és hibakeresését.

            VBA a következő hurkokhoz

            Az IF állítások nagyszerűek az egyes összehasonlításokhoz, mint például a fenti példa az egyetlen cellára nézve. De mi van, ha át akarja vonni a cellák teljes tartományát, és mindegyiknél ugyanazt az IF-utasítást használja?

            Ebben az esetben FOR-hurokra van szüksége.

            Ehhez egy tartomány hosszát kell használnia, és ezt a hosszúságot az adatot tartalmazó sorok számával kell áthúznia.

            Ehhez szüksége van hogy meghatározza a tartományt és a cellákat, és áthúzza őket. Meg kell határoznia egy számlálót is, hogy az eredményeket a megfelelő sorba tudja kiadni. Tehát a VBA-kódjában először ezt a sort szerepelne.

            Eltávolítás mért tartományként, cella mint tartomány
            Mérettelen sorCounter egész számként

            Az alábbiak szerint határozza meg a tartomány méretét.

            Set rng = Range (“B2: B7”)
            rowCounter = 2

            Végül létrehozhat a FOR-hurok segítségével lépjen át az adott tartomány minden celláján, és elvégezze az összehasonlítást.

            For Each cell In rng
            If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell

            Amint ez a VBA szkript fut, megjelenik a eredményt ad a tényleges táblázatban.

            <ábra osztály = "lusta aligncenter méret nagy">

            VBA, míg hurkok

            A Míg a hurok egy utasítások sorozatán is végigmegy, akárcsak a FOR hurok, de a folytatódó hurok feltétele továbbra is fennmarad. igaz.

            Például ugyanazt a FOR-hurkot felírhatja fent, mint WHILE hurkot, egyszerűen a rowCounter változó használatával, az alábbiak szerint.

            While rowCounter < rng.Count + 2
            If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend

            Megjegyzés: a rng.Count + 2befejezési határértékre van szükség, mivel a sorszámláló 2-nél kezdődik, és a 7. sornak kell végződnie, ahol az adatok végződnek. A tartomány (B2: B7) száma azonban csak 6, és a But ciklus csak akkor fejeződik be, ha a számláló NAGYABB, mint a számláló - tehát az utolsó rowCounter értéknek 8-nak (vagy rng.Count + 2) kell lennie.

            A But hurkot az alábbiak szerint is beállíthatja:

            Miközben a rowCounter <= rng.Count + 1

            csak növelje meg a tartomány számát (6) 1-rel, mert mihelyt a rowCounter változó eléri az adatok végét (7. sor), a hurok befejeződik. / strong>

            Do közben és addig, amíg a hurkok majdnem megegyeznek a Some hurkokkal, de kissé eltérő módon működnek.

            • A Miközben hurokellenőrzi, hogy egy feltétel a hurok elején igaz.
            • A Teendő-hurokellenőrzi, hogy a feltétel igaz-e a ciklusban szereplő utasítások végrehajtása után.
            • A Do-till hurokellenőrzi, hogy a hurok végrehajtása után még fennáll-e egy feltétel.
            • Ebben az esetben a t he Míg a fenti hurok az alábbiak szerint, mint egy Do-while hurok.

              Do
              If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2

              Ebben az esetben a logika nem változik nagyon, de ha szeretné megbizonyosodni a logikáról Az összehasonlítás az összes állítás futtatása után történik (lehetővé téve, hogy mindegyikük futtasson függetlenül attól, hogy mi történik legalább egyszer), majd a Do-while vagy a Do-till hurok a megfelelő lehetőség.

              VBA-esettanulmányok

              A VBA-kód szerkezetének megkezdéséhez megértendő logikai utasítás végső típusa a Select Case utasítások.

              Tekintettel a fenti példára, tegyük fel, hogy olyan osztályozási módszert szeretne kapni, amely nem csupán a sikertelen. Ehelyett az A-tól F-ig szeretne betűosztályt kiosztani.

              Ezt megteheti a következő Select Case utasítással:

              For Each cell In rng
              Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell

              A kapott táblázat ez után a VBA szkript futtatása az alábbiak szerint néz ki.

              Most már mindent tudsz, amit tudnod kell a VBA használatához a Microsoft Office alkalmazásokban.

              Kapcsolódó hozzászólások:


              29.01.2020