Iesācēja apmācība par VBA makro rakstīšanu programmā Excel (un kāpēc jums vajadzētu mācīties)

Iesācēja apmācība par VBA makro rakstīšanu programmā Excel (un kāpēc jums vajadzētu mācīties)

Excel makro var ietaupīt daudz laika automatizējiet bieži izmantotos Excel procesus . Bet makro faktiski ir diezgan ierobežots. Izmantojot ierakstīšanas rīku, ir viegli kļūdīties, un ierakstīšanas process ir neērts.





Izmantojot VBA, lai izveidotu makro, jums ir daudz vairāk iespēju. Varat precīzi pateikt programmai Excel, kas un kā jādara. Jūs arī piekļūstat daudzām citām funkcijām un iespējām. Ja jūs regulāri izmantojat Excel, ir vērts iemācīties izveidot VBA makro.





Sāksim ar pamatiem.





Kas ir VBA?

VBA ir Visual Basic for Applications , programmēšanas valoda, kuru varat izmantot daudzās Microsoft lietotnēs. Visual Basic ir programmēšanas valoda, un VBA ir tās lietojumprogrammas versija. (Microsoft pārtrauca Visual Basic 2008. gadā, bet VBA joprojām turpina darboties).

Par laimi neprogrammētājiem VBA ir ļoti vienkārša, un saskarne, ko izmantojat tās rediģēšanai, sniedz daudz palīdzības. Daudzas komandas, kuras izmantosit, tiks parādītas uznirstošajos ieteikumos un automātiskajā pabeigšanā, tādējādi palīdzot skriptam ātri darboties.



Tomēr VBA prasa laiku, lai pierastu.

VBA makro priekšrocības programmā Excel

Ja VBA ir grūtāk nekā makro ierakstīšana, kāpēc jūs to izmantotu? Īsā atbilde ir tāda, ka jūs iegūstat daudz vairāk enerģijas no VBA makro.





Tā vietā, lai klikšķinātu ap savu izklājlapu un ierakstītu šos klikšķus, varat piekļūt pilnam Excel funkciju un iespēju klāstam. Jums vienkārši jāzina, kā tos izmantot.

kā jailbreak ios 11 ar datoru

Un, kad jūs esat ērtāk lietojis VBA, jūs varat veikt visas darbības, ko varētu veikt parastajā makro daudz īsākā laikā. Rezultāti būs arī paredzamāki, kā jūs stāstāt programmai Excel tieši tā ko darīt. Nav nekādu neskaidrību.





Kad esat izveidojis savu VBA makro, to ir viegli saglabāt un kopīgot, lai ikviens cits varētu to izmantot. Tas ir īpaši noderīgi, ja strādājat ar daudziem cilvēkiem, kuriem programmā Excel jādara tas pats.

Apskatīsim vienkāršu VBA makro, lai redzētu, kā tas darbojas.

VBA makro piemērs programmā Excel

Apskatīsim vienkāršu makro. Mūsu izklājlapā ir iekļauti darbinieku vārdi, veikala numurs, kurā darbinieki strādā, un viņu ceturkšņa pārdošanas apjomi.

Šis makro pievienos ceturkšņa pārdošanas apjomus no katra veikala un ierakstīs šos kopsummas izklājlapas šūnās (ja neesat pārliecināts, kā piekļūt dialoglodziņam VBA, skatiet mūsu VBA pārskats šeit ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

Tas varētu šķist garš un sarežģīts, taču mēs to sadalīsim, lai jūs varētu redzēt atsevišķus elementus un mazliet uzzināt par VBA pamatiem.

Apakšdeklarēšana

Moduļa sākumā mums ir “Sub StoreSales ()”. Tas definē jaunu apakšnosaukumu StoreSales.

Varat arī definēt funkcijas --- atšķirība ir tāda, ka funkcijas var atdot vērtības, bet apakšpasākumi nevar (ja esat iepazinies ar citām programmēšanas valodām, apakšprogrammas ir metožu ekvivalents). Šajā gadījumā mums nav jāatgriež vērtība, tāpēc mēs izmantojam apakšpozīciju.

Moduļa beigās mums ir “End Sub”, kas programmai Excel norāda, ka esam pabeiguši šo VBA makro.

Mainīgo lielumu deklarēšana

Visas mūsu skripta koda pirmās rindas sākas ar “Dim”. Dim ir VBA komanda mainīgā deklarēšanai.

Tātad “Dim Sum1” izveido jaunu mainīgo ar nosaukumu “Sum1”. Tomēr mums ir jāpasaka programmai Excel, kāda veida mainīgais tas ir. Mums jāizvēlas datu veids. VBA ir daudz dažādu datu veidu --- jūs varat atrast pilns saraksts Microsoft palīdzības dokumentos .

Tā kā mūsu VBA makro būs saistīts ar valūtām, mēs izmantojam datu tipu Valūta.

Paziņojums “Dim Sum1 kā valūta” liek programmai Excel izveidot jaunu valūtas mainīgo ar nosaukumu Sum1. Katram jūsu deklarētajam mainīgajam ir jābūt paziņojumam “Kā”, lai Excel norādītu tā veidu.

For Loop sākšana

Cilpas ir dažas no visspēcīgākajām lietām, ko varat izveidot jebkurā programmēšanas valodā. Ja neesat pazīstams ar cilpām, skatiet šo Do-while cilpu skaidrojumu. Šajā piemērā mēs izmantojam cilpu For, kas arī ir aplūkots rakstā.

Lūk, kā izskatās cilpa:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

Tas liek programmai Excel atkārtot mūsu norādītā diapazona šūnas. Mēs izmantojām a Diapazona objekts , kas ir specifisks VBA objektu veids. Kad mēs to izmantojam šādā veidā-Diapazons ('C2: C51') --- tas Excel ziņo, ka mūs interesē šīs 50 šūnas.

“Par katru” norāda programmai Excel, ka mēs darīsim kaut ko ar katru diapazona šūnu. “Nākamā šūna” nāk pēc visa, ko mēs vēlamies darīt, un liek programmai Excel sākt ciklu no sākuma (sākot ar nākamo šūnu).

Mums ir arī šāds paziņojums: 'Ja IsEmpty (Cell), tad izejiet uz.'

Vai varat uzminēt, ko tas dara?

Piezīme: Stingri sakot, izmantojot ciklu, iespējams, bija labāka izvēle . Tomēr mācīšanas nolūkā es nolēmu izmantot For cilpu ar izeju.

kā izdarīt ietekmi uz attēlu

Ja-tad-citi paziņojumi

Šī konkrētā makro kodols ir paziņojumos Ja-tad-citādi. Šeit ir mūsu nosacīto paziņojumu secība:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

Lielākoties jūs droši vien varat uzminēt, ko šie apgalvojumi dara. Jūs, iespējams, neesat pazīstams ar ActiveCell. Tomēr kompensējiet. “ActiveCell.Offset (0, -1)” liek programmai Excel aplūkot šūnu, kas atrodas vienā kolonnā pa kreisi no aktīvās šūnas.

Mūsu gadījumā tas liek programmai Excel iepazīties ar veikala numura sleju. Ja Excel šajā kolonnā atrod 1, tad tā ņem aktīvās šūnas saturu un pievieno to Sum1. Ja tas atrod 2, tas summai 2 pievieno aktīvās šūnas saturu. Un tā tālāk.

Excel iziet visus šos paziņojumus kārtībā. Ja nosacīts paziņojums ir apmierināts, tas aizpilda paziņojumu Tad. Ja nē, tas pāriet nākamajā ElseIf. Ja tas tiks pabeigts līdz galam un neviens no nosacījumiem nav izpildīts, tā neveiks nekādas darbības.

Cilpas un nosacījumu kombinācija ir tas, kas virza šo makro. Cilpa liek programmai Excel iet cauri katrai atlases šūnai, un nosacījumi norāda, ko darīt ar šo šūnu.

Šūnu vērtību rakstīšana

Visbeidzot, mēs varam ierakstīt mūsu aprēķinu rezultātus šūnās. Šeit ir rindas, kuras mēs izmantojam, lai to izdarītu:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

Izmantojot “.Value” un vienādības zīmi, mēs katrai no šīm šūnām iestatām viena no mūsu mainīgajiem vērtību.

Un tas arī viss! Mēs sakām programmai Excel, ka esam pabeiguši šīs apakšdaļas rakstīšanu ar “End Sub”, un VBA makro ir pabeigts.

Palaižot makro ar Makro pogu Izstrādātājs cilnē mēs iegūstam savas summas:

VBA celtniecības elementu salikšana programmā Excel

Pirmoreiz aplūkojot iepriekš minēto VBA makro, tas izskatās diezgan sarežģīti. Bet pēc tā sadalīšanas tās sastāvdaļās loģika kļūst skaidra. Tāpat kā jebkura skriptu valoda, ir vajadzīgs laiks, lai pierastu pie VBA sintakses.

Bet ar praksi jūs izveidosit savu VBA vārdu krājumu un varēsit rakstīt makro ātrāk, precīzāk un ar daudz lielāku jaudu, nekā jūs jebkad varētu ierakstīt.

Kad esat iestrēdzis, Google meklēšanas palaišana ir ātrs veids, kā saņemt atbildes uz VBA jautājumiem. Un Microsoft Excel VBA atsauce var būt noderīga, ja vēlaties izpētīt tehnisko atbildi.

Kad esat apmierināts ar pamatiem, varat sākt izmantot VBA tādām lietām kā sūtot e -pastus no Excel , Outlook uzdevumu eksportēšana un datora informācijas parādīšana.

skatīties Hanna Barbera karikatūras tiešsaistē bez maksas
Kopīgot Kopīgot Čivināt E -pasts Lūk, kāpēc FIB izdeva brīdinājumu par Hive Ransomware

FIB izdeva brīdinājumu par īpaši nepatīkamu izpirkuma programmatūras celmu. Lūk, kāpēc jums īpaši jāuzmanās no Hive izpirkuma programmatūras.

Lasīt Tālāk
Saistītās tēmas
  • Produktivitāte
  • Izklājlapa
  • Microsoft Excel
  • Microsoft Office 2016
  • Makro
  • Kodēšanas apmācības
Par autoru Tad Olbraits(Publicēti 506 raksti)

Dann ir satura stratēģijas un mārketinga konsultants, kurš palīdz uzņēmumiem radīt pieprasījumu un potenciālos pirkumus. Viņš arī raksta emuārus par stratēģiju un satura mārketingu vietnē dannalbright.com.

Vairāk no Danna Olbraita

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu