Egy változónak az = operátorral adhatunk értéket. Megengedett az egy sorba írt többszörös értékadás is.
Példa:
Visual Basicben általában egy sor csak egy utasítást tartalmaz, és az egymást követő sorokban levő utasítások szekvenciája a program. Lehetőség van egy sorba több utasítást is írni, ezeket : jellel kell elválasztani. Az utasítások végét nem kell semmilyen karakterrel jelölni, és a : karakter is csak az utasítások elválasztására szolgál.
A With utasítás:
A With utasítást akkor használjuk, ha egy objektumon több utasítást szeretnénk végrehajtani egymás után. Használatakor nem kell kiírni az objektum nevét, csak azt a tagját, amire hivatkozunk. Így gyorsíthatjuk a programot, felesleges gépeléstől kíméljük meg magunkat, és a kód is olvashatóbb lesz.
With Font .Name="Arial" .Bold=True .Size=5 End With
A With utasításblokkok egymásba ágyazhatók, de ilyenkor a belső blokkban a külső blokkban megadott objektum tulajdonságaira csak az objektumnév megadásával hivatkozhatunk.
Három elágazásos utasításcsoportot találhatunk a nyelvben:
vagy
Ha a feltétel teljesül, akkor végrehajtja az utasításokat. A feltételnek összehasonlításnak vagy numerikusra kiértékelhető kifejezésnek kell lennie.
Ha a feltétel1 teljesül, akkor végrehajtja az utasítások1-ben szereplő utasításokat. Ha nem teljesül, akkor megvizsgálja a feltétel2-t, és így tovább. Azt a Then ágat hajtja végre először, amelyiknél a feltétel teljesül. Ha nincs ilyen, akkor az Else ágat hajtja végre, ha van ilyen.
A Visual Basic az If .. Then .. Else szerkezet alternatívájaként tartalmazza az IIf és a Switch függvényeket.
IIf(Kifejezés, Érték-1, Érték-2)
Switch(Kifejezés-1, Érték-1[, Kifejezés-2, Érték-2 … [, Kifejezés-n,Érték-n]])
Az IIf függvény a megadott Kifejezés Igaz értéke esetén Érték-1-et, Hamis értéke esetén Érték-2-t adja vissza. A függvény valamennyi paraméterét kiértékeli. (azaz ha például Érték-2 egy függvényhívás eredményeként áll elő, akkor a függvény Kifejezés értékétől függetlenül meghívásra kerül.)
A Switch függvény hasonlóan működik, az első igaz értékű Kifejezés-k-hoz tartozó Érték-et adja vissza. A kiértékelés itt is teljes, minden kifejezés kiértékelésre kerül.
A Choose függvénnyel egy index alapján tudunk a több lehetőség közül egyet visszaadni.
Kiértékeli a szelektort, és azt az ágat hajtja végre, amelyiknél a szelektor_listában szerepel a kiértékelés eredménye. A szelektor_listában több értéket is felsorolhatunk (ezeket ","-vel kell elválasztani), de megadhatunk intervallumot is (a To kulcsszóval). Ha több illeszkedő Case ág is van, akkor az elsőt hajtja végre csak, a többit nem. A szelektor értékére a szelektor listában az Is kulcsszóval hivatkozhatunk.
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
A számláló határozza meg, hogy hányszor hajtódnak végre a törzsben levő utasítások. A lépésköz opcionális, az értéke alapértelmezésben 1. A lépésköz lehet negatív is, de ekkor a "tól" értéknek nagyobbnak kell lennie az "ig" értéknél. A számlálónak, valamint a "tól" és "ig" értéknek numerikusnak kell lennie, ezen belül tetszőleges típusú lehet, de általában Integer típusú változót használunk.
Figyelni kell arra, hogy Visual Basic nem akadályozza meg, hogy megváltoztassuk a számláló értékét a ciklus belsejében!
A For ciklusnak ez a fajtája akkor hasznos, ha elemek egy csoportjára szeretnénk végrehajtani valamilyen műveletsort, de nem tudjuk pontosan, hogy hány elem tartozik a csoportba. Végigveszi a csoportban található elemeket egyesével, és elvégzi velük a törzsben adott utasításokat. A For Each ciklusban nem okoz fennakadást, ha a ciklusmagban változtatjuk a gyűjtemény tartalmát, kiveszünk elemeket, vagy újakat veszünk hozzá. A ciklus a gyűjteményben levő elemeken fut végig.
A Do...Loop ciklus a törzset nem előre meghatározott számszor hajtja végre, hanem egy feltétel kiértékelésétől függ, hogy mikor fejezi be a törzs ismételt végrehajtását. Tehát amikor a program futása során először fut le a Do utasítás, akkor a Visual Basic kiértékeli a feltételt. Ha ez hamis, akkor a végrehajtás azonnal a ciklus utáni első utasítással folytatódik. Ha a feltétel aktuális értéke True, akkor az utasításblokk lefut, majd a végrehajtás újra a Do utasításra kerül, és a feltétel újra kiértékelődik. A ciklusfeltételnek numerikus értékre kiértékelhető kifejezésnek vagy összehasonlításnak kell lennie.
A While kulcsszót helyettesíthetjük az Until szóval, melynek hatására a ciklus mindaddig ismétlődik, amíg a Feltétel értéke False.
Lehet elöl- vagy hátultesztelő is. A hátultesztelő ciklus használatakor a törzs egyszer mindenképpen végrehajtódik.
Mint a Do...Loop ciklus, ez is addig hajtja végre a törzsben szereplő utasításokat, míg a feltétel hamissá nem válik. A Visual Basic csak azért tartalmazza ezt a ciklust, hogy kompatibilis maradjon a régebbi Basic változatokkal, melyekben a Do...Loop szerkezet nem, vagy nem ennyire rugalmasan volt használható.
A Visual Basicben két (gyakran használt) vezérlésátadó utasítás van, a Call és a GoTo (ez már csak hagyománytiszteletből maradt meg a nyelvben). Alkalmazási formájuk:
Call eljárásnév (paraméterek)
GoTo [címke|sorszám]
Eljárásokat hívhatunk a Call kulcsszóval, vagy egyszerűen a nevük leírásával. A paramétereket nem fontos zárójelek közé írni, csak akkor, ha a Call utasítást használjuk. A paramétereket megadhatjuk "param1=érték1 param2=érték2 ..." formában is, ekkor a paraméterek sorrendjét sem kell betartani. Függvények esetében mindig ki kell írni a zárójeleket a paraméterlista elé és után.
A nyelvben maradt néhány struktúra, ami már nem, vagy csak nagyon ritkán használatos. Ezek:
Gosub [címke|sorszám]: a címkére ugrik.
Return: az utolsó Gosub utasítás mögé ugrik vissza.
On x Gosub [címke1|sorszám1], ..., [címkeK|sorszámK]
On x Goto [címke1|sorszám1], ..., [címkeK|sorszámK] : x értékétől függően a megfelelő címkére ugrik.
Kilépő utasítások
Az Exit utasítással léphetünk ki ciklusokból, illetve alprogramokból. Az Exit mindig közvetlenül lép ki a For...Next és Do...Loop ciklusból, valamint a Sub és Function alprogramokból.
Kilépés ciklusból: A For...Next ciklusból az Exit For, a Do...Loop ciklusból az Exit Do utasítással léphetünk ki. Ezeket az utasításokat általában valamilyen feltétel előzi meg, és csak akkor hajtódnak végre, ha a feltétel igaz, és nincsen szükség a ciklus hátralevő részének végrehajtására.
Kilépés alprogramokból: Sub eljárásból az Exit Sub, függvényből pedig az Exit Function utasítással léphetünk ki. Mint a ciklusoknál, az Exit utasítások használata általában az alprogramok esetében is feltételhez kötött.
Az Option utasításokkal a kód "alapszabályait" állíthatjuk be, ezáltal megelőzhetjük a szintaktikai és logikai hibákat. Ezek a lehetőségek:
Option Explicit - On-ra vagy Off-ra állítható, az On az alapértelmezett. Megköveteli, hogy minden változót a használata előtt deklaráljunk (ez az alapértelmezett).
Option Compare - Binary-ra vagy Text-re állítható. Azt állítja be, hogy a sztringeket milyen metódus szerint hasonlítsa össze. Binary esetén (A < B < E < Z < a < b < e < z < Á < É < Ø < à < ê < ø), amíg text esetén ((A=a) < (À = à) < (B=b) < (E=e) < (Ê = ê) < (Z=z) < (Ø = ø)) a karakter összehasonlítást alkalmazza. )
Option Strict - On-ra vagy Off-ra állítható, az Off az alapértelmezett. Ha ez az opció be van kapcsolva, és egy adott típusú változónak másmilyen típusú értéket adunk, és lehetőség van bármilyen adatvesztésre, a Visual Basic ezt hibának értékeli. Ebben az esetben explicit konverziós függvényeket kell használnunk.
VisualBasic .NET- ben az Option Base utasítás többé nem létezik. A tömbindex kezdőértéke a 0, és többé nem használhatjuk az Option Base utasítást vagy a To kulcsszót arra, hogy beállítsuk az alsó határt.