Uzdevums apgalvojums ir VBA paziņojumu, kas piešķir rezultātu izteiksmes uz mainīgo vai objektu. Programmas Excel palīdzības sistēma terminu izteiksme definē kā
“... atslēgvārdu, operatoru, mainīgo un konstantu kombinācija, kas rada virkni, skaitli vai objektu. Izteiksmi var izmantot, lai veiktu aprēķinus, manipulētu ar rakstzīmēm vai pārbaudītu datus.
Liela daļa jūsu darba VBA ir saistīta ar izteiksmju izstrādi (un atkļūdošanu). Ja zināt, kā programmā Excel izveidot formulas, jums nebūs problēmu izveidot izteiksmes. Izmantojot darblapas formulu, programma Excel parāda rezultātu šūnā. No otras puses, VBA izteiksmi var piešķirt mainīgajam.
Uzdevuma paziņojuma piemēri
Turpmākajos piešķiršanas paziņojuma piemēros izteiksmes atrodas pa labi no vienādības zīmes:
x = 1
x = x + 1
x = (y * 2) / (z * 2)
Mājas izmaksas = 375 000
FileOpen = patiess
Diapazons (“Gads”). Vērtība = 2016. gads
Izteiksmes var būt tik sarežģītas, cik jums tās ir vajadzīgas; izmantojiet rindiņas turpinājuma rakstzīmi (atstarpi, kam seko pasvītra), lai garus izteicienus būtu vieglāk lasīt.
Bieži vien izteiksmēs tiek izmantotas funkcijas: VBA iebūvētās funkcijas, Excel darblapas funkcijas vai funkcijas, kuras izstrādājat ar VBA.
Par to vienādības zīmi
Kā redzat iepriekšējā piemērā, VBA kā piešķiršanas operatoru izmanto vienādības zīmi. Jūs, iespējams, esat pieradis izmantot vienādības zīmi kā matemātisko vienlīdzības simbolu. Tāpēc šāds uzdevuma paziņojums var likt jums pacelt uzacis:
z = z + 1
Kurā trakajā Visumā z ir vienāds ar sevi plus 1? Atbilde: Nav zināms Visums. Šajā gadījumā piešķiršanas priekšraksts (kad tas tiek izpildīts) palielina z vērtību par 1. Tātad, ja z ir 12, izpildot paziņojumu, z ir vienāds ar 13. Vienkārši atcerieties, ka piešķiršana izmanto vienādības zīmi kā operatoru, nevis simbolu. vienlīdzību.
Gludi operatori
Operatori spēlē galveno lomu VBA. Papildus vienādības zīmes operatoram VBA nodrošina vairākus operatorus. Tie ir jums jāzina, jo tie ir tie paši operatori, kas tiek izmantoti darblapu formulās (izņemot operatoru Mod).
Funkcija |
Operatora simbols |
Papildinājums |
+ |
Reizināšana |
* |
Divīzija |
/ |
Atņemšana |
– |
Paaugstināšana |
^ |
Virknes savienošana |
& |
Veselu skaitļu dalīšana (rezultāts vienmēr ir vesels skaitlis) |
|
Modulo aritmētika (atgriež dalīšanas
operācijas atlikušo daļu ) |
Mod |
Rakstot Excel formulu, jūs veicat moduļu aritmētiku, izmantojot funkciju MOD. Piemēram, šī formula atgriež 2 (atlikušo daļu, ja dalāt 12 ar 5):
=MOD(12,5)
VBA operētājsistēmā Mod tiek izmantots šādi (un z vērtība ir 2):
z = 12 5. mod
Termins savienošana nozīmē, ka programmētājs runā par “savienoties”. Tādējādi, ja jūs savienojat virknes, jūs apvienojat virknes, lai izveidotu jaunu un uzlabotu virkni.
VBA nodrošina arī pilnu loģisko operatoru komplektu. No tiem visbiežāk tiek izmantoti Not, Un un Or.
Operators |
Ko tas dara |
Nav |
Veic izteiksmes loģisku noliegumu |
Un |
Veic loģisku savienojumu divām izteiksmēm |
Or |
Veic loģisku disjunkciju divām izteiksmēm |
Xor |
Veic loģisku izslēgšanu divām izteiksmēm |
Ekv |
Veic loģisku ekvivalenci divām izteiksmēm |
Imp |
Veic loģisku ietekmi uz divām izteiksmēm |
Operatoru prioritātes secība VBA ir tieši tāda pati kā Excel formulās. Paaugstināšanai ir visaugstākā prioritāte. Tālāk seko reizināšana un dalīšana, kam seko saskaitīšana un atņemšana. Varat izmantot iekavas, lai mainītu dabisko prioritātes secību, liekot iekavās ievietoto informāciju ievietot pirms jebkura operatora. Apskatiet šo kodu:
x = 3
y = 2
z = x + 5 * y
Kad tiek izpildīts iepriekšējais kods, kāda ir z vērtība? Ja atbildējāt uz 13, jūs saņemat zelta zvaigzni, kas pierāda, ka saprotat operatora prioritātes jēdzienu. Ja atbildējāt uz 16, izlasiet šo: Vispirms tiek veikta reizināšanas darbība (5 * y), un šis rezultāts tiek pievienots x.
Daudzi programmētāji mēdz izmantot iekavas pat tad, ja tās nav nepieciešamas. Piemēram, reālajā dzīvē šo pēdējo uzdevuma paziņojumu var uzrakstīt šādi:
z = x + (5 * y)
Nekautrējieties izmantot iekavas, pat ja tās nav obligātas — īpaši, ja tādējādi jūsu kods ir vieglāk saprotams. VBA ir vienalga, ja izmantojat papildu iekavas.