Néha az Excel 2016 kódjának bevitelének legjobb módja a legközvetlenebb. A VBA-kód közvetlen bevitele magában foglalja… nos, a kód közvetlen bevitelét. Más szavakkal, a kódot a billentyűzet segítségével írja be. A szöveg bevitele és szerkesztése egy VBA-modulban az elvárásoknak megfelelően működik. Kijelölheti, másolhatja, kivághatja, beillesztheti, és más műveleteket is végezhet a szöveggel.
A Tab billentyűvel behúzhat néhány sort, hogy könnyebben olvasható legyen a kód. A behúzás nem szükséges, de jó szokás, amit el kell sajátítani.
A VBA-kód egyetlen sora olyan hosszú lehet, amennyire szüksége van rá. A hosszú kódsorok felosztásához azonban érdemes lehet használni a sorfolytató karaktereket. Ha egyetlen kódsort (más néven utasítást) szeretne folytatni egyik sorról a másikra, fejezze be az első sort szóközzel, amelyet aláhúzásjel (_) követ. Ezután folytassa az állítást a következő sorban. És ne felejtsd el a teret. Egy aláhúzás karakter, amely előtt nincs szóköz, nem fogja ellátni a feladatot.
Íme egy példa egyetlen utasításra, három sorra osztva:
Selection.Sort Key1:=Tartomány(“A1”), _
Sorrend1:=xlNövekvő, Fejléc:=xlGuess, _
Orientation:=xlTopToBottom
Ez az utasítás pontosan ugyanúgy működne, ha egyetlen sorban lenne beírva (sorfolytató karakterek nélkül). Figyeljük meg, hogy ennek az utasításnak a második és harmadik sora behúzott. A behúzás nem kötelező, de segít tisztázni azt a tényt, hogy ezek a sorok nem különálló utasítások.
A VBE-t tervező fehérbevonatos mérnökök arra számítottak, hogy az emberek hibázni fognak. Ezért a VBE-nek több szintje van a visszavonásnak és az újrakészítésnek. Ha olyan utasítást törölt, amelyet nem kellett volna, kattintson a Visszavonás gombra az eszköztáron (vagy nyomja le a Ctrl+Z billentyűkombinációt), amíg az utasítás ismét meg nem jelenik. A visszavonás után az Újra gombbal hajthatja végre a visszavont módosításokat.
Készen állsz egy valós kód megadására? Próbálja ki a következő lépéseket:
Hozzon létre egy új munkafüzetet Excelben.
Nyomja meg az Alt+F11 billentyűket a VBE aktiválásához.
Kattintson az új munkafüzet nevére a Projekt ablakban.
Válassza a Beszúrás → Modul menüpontot egy VBA-modul beillesztéséhez a projektbe.
Írja be a következő kódot a modulba:
Al GuessName()
Msg = "Az Ön neve " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
Ha Ans = vbNo Akkor MsgBox "Ó, mindegy."
Ha Ans = vbYes, akkor MsgBox „Pszichikusnak kell lennem!”
Vége Sub
Helyezze a kurzort bárhová a beírt szövegen belül, és nyomja meg az F5 billentyűt az eljárás végrehajtásához.
Az F5 a Futtatás → Sub/UserForm futtatása parancs parancsikonja. Ha helyesen adta meg a kódot, az Excel végrehajtja az eljárást, és válaszolhat az egyszerű párbeszédpanelre. Ne feledje, hogy a párbeszédpanel szövege más lesz.

A GuessName eljárás ezt a párbeszédpanelt jeleníti meg.
Amikor beírja az 5. lépésben felsorolt kódot, észreveheti, hogy a VBE bizonyos módosításokat végez a beírt szövegen. Például a Sub utasítás beírása után a VBE automatikusan beszúrja az End Sub utasítást. És ha kihagyja az egyenlőségjel előtti vagy utáni szóközt, a VBE beszúrja a szóközt. Ezenkívül a VBE megváltoztatja bizonyos szövegek színét és nagybetűit. Ez mind teljesen normális. Ez csak a VBE módja annak, hogy rendben és olvashatóan tartsa a dolgokat.
Ha követte az előző lépéseket, akkor most írt egy VBA-aleljárást, más néven makrót. Ha megnyomja az F5 billentyűt, az Excel végrehajtja a kódot, és követi az utasításokat. Más szóval, az Excel minden egyes állítást kiértékel, és azt teszi, amit mondtál neki. (Ne hagyja, hogy ez az újonnan felfedezett erő a fejébe szálljon.) Ezt a makrót akárhányszor végrehajthatja – bár néhány tucat alkalom után hajlamos elveszíteni vonzerejét.
Ez az egyszerű makró a következő fogalmakat használja:
-
Aleljárás meghatározása (első sor)
-
Értékek hozzárendelése a változókhoz (Msg and Ans)
-
Karakterlánc összefűzése (csatlakozása) (a & operátor használatával)
-
Beépített VBA funkció használata (MsgBox)
-
Beépített VBA-konstansok használata (vbYesNo, vbNo és vbYes)
-
Ha-Akkor konstrukció használata (kétszer)
-
Aleljárás befejezése (utolsó sor)
Kezdőnek nem rossz, ugye?