Loovutamise avaldus on VBA avaldus, mis määrab tulemus väljendus muutuja või objekti. Exceli spikrisüsteem määratleb termini väljend kui
"... märksõnade, operaatorite, muutujate ja konstantide kombinatsioon, mis annab stringi, numbri või objekti. Avaldist saab kasutada arvutuste tegemiseks, märkidega manipuleerimiseks või andmete testimiseks.
Suur osa teie tööst VBA-s hõlmab väljendite arendamist (ja silumist). Kui teate, kuidas Excelis valemeid luua, pole teil avaldiste loomisega probleeme. Töölehe valemiga kuvab Excel tulemuse lahtris. VBA-avaldise saab seevastu määrata muutujale.
Ülesandelause näited
Järgmistes määramislause näidetes asuvad avaldised võrdusmärgist paremal:
x = 1
x = x + 1
x = (y * 2) / (z * 2)
Maja maksumus = 375 000
FileOpen = Tõene
Vahemik (“Aasta”). Väärtus = 2016
Väljendid võivad olla nii keerulised, kui vaja; kasutage pikkade väljendite lugemise hõlbustamiseks rea jätkumärki (tühikut, millele järgneb alakriips).
Sageli kasutavad avaldised funktsioone: VBA sisseehitatud funktsioone, Exceli töölehe funktsioone või VBA-ga arendatavaid funktsioone.
Sellest võrdusmärgist
Nagu näete eelmises näites, kasutab VBA määramisoperaatorina võrdusmärki. Tõenäoliselt olete harjunud kasutama võrdusmärki võrdsuse matemaatilise sümbolina. Seetõttu võib selline määramisavaldus panna teid kulme kergitama:
z = z + 1
Millises hullus universumis on z võrdne iseendaga pluss 1? Vastus: Universumit pole teada. Sel juhul suurendab määramislause (käitamisel) z väärtust 1 võrra. Seega, kui z on 12, võrdub lause täitmine z-ga 13. Pidage meeles, et määramine kasutab operaatorina võrdusmärki, mitte sümbolit. võrdsusest.
Sujuvad operaatorid
Operaatorid mängivad VBA-s suurt rolli. Lisaks võrdusmärgi operaatorile pakub VBA mitmeid operaatoreid. Need peaksid olema teile tuttavad, kuna need on samad operaatorid, mida kasutatakse töölehe valemites (välja arvatud operaator Mod).
| Funktsioon |
Operaatori sümbol |
| Lisand |
+ |
| Korrutamine |
* |
| Jaoskond |
/ |
| Lahutamine |
– |
| Astendamine |
^ |
| Stringide ühendamine |
& |
| Täisarvude jagamine (tulemus on alati täisarv) |
|
Modulo aritmeetika (tagastab jagamistehte ülejäänud osa
) |
Mod |
Exceli valemit kirjutades teete moodularitmeetikat, kasutades funktsiooni MOD. Näiteks järgmine valem tagastab 2 (ülejäänu, kui jagate 12 5-ga):
=MOD(12,5)
VBA-s kasutatakse operaatorit Mod järgmiselt (ja z väärtus on 2):
z = 12 Mood 5
Mõiste konkatenatsioon tähendab, et programmeerijad räägivad "ühinema". Seega, kui ühendate stringe, kombineerite stringe uue ja täiustatud stringi loomiseks.
VBA pakub ka täielikku loogiliste operaatorite komplekti. Nendest kasutatakse kõige sagedamini mitte, ja või.
| Operaator |
Mida see teeb |
| Mitte |
Teostab avaldise loogilise eituse |
| Ja |
Sooritab kahe avaldise loogilise sidendi |
| Või |
Teostab kahe avaldise loogilise disjunktsiooni |
| Xor |
Teostab kahe avaldise loogilise välistamise |
| Eqv |
Sooritab kahe avaldise loogilise ekvivalentsuse |
| Imp |
Sooritab kahe avaldise loogilise järelmõju |
VBA-s on operaatorite eelisjärjestus täpselt sama, mis Exceli valemites. Astendamisel on kõrgeim prioriteet. Järgmisena tulevad korrutamine ja jagamine, millele järgneb liitmine ja lahutamine. Saate kasutada sulgusid, et muuta loomulikku järjekorda, muutes sulgudes olevad kõik enne mis tahes operaatorit. Heitke pilk sellele koodile:
x = 3
y = 2
z = x + 5 * y
Kui eelnev kood käivitatakse, mis on z väärtus? Kui vastasite 13, saate kuldse tähe, mis tõendab, et mõistate operaatori prioriteetsuse mõistet. Kui vastasite 16, lugege seda: Kõigepealt tehakse korrutustehe (5 * y) ja see tulemus lisatakse x-le.
Paljud programmeerijad kasutavad sulgusid isegi siis, kui neid pole vaja. Näiteks päriselus võiks selle viimase ülesandelause kirjutada järgmiselt:
z = x + (5 * y)
Ärge kartke sulgusid kasutada isegi siis, kui need pole kohustuslikud – eriti kui see muudab teie koodi hõlpsamini mõistetavaks. VBA-d ei huvita, kui kasutate täiendavaid sulgusid.