Oglas

Microsoft Excel već je sposoban alat za analizu podataka, ali uz mogućnost automatizacije ponavljajućih zadataka s makronaredbama pisanjem jednostavnog koda u Visual Basic for Applications (VBA), on je mnogo snažniji. Međutim, ako se koristi pogrešno, VBA može uzrokovati probleme.

Čak i ako niste programer, VBA nudi jednostavne funkcije koje omogućuju dodavanje impresivnih funkcionalnosti u vaše proračunske tablice.

Nije važno jeste li guru VBA koji stvara nadzorne ploče u Excelu ili početnik koji piše jednostavne skripte koje vrše osnovne proračune ćelija. Slijedite ove jednostavne tehnike programiranja kako biste naučili pisati čist kôd bez grešaka.

Početak rada s VBA

VBA može učiniti sve vrste urednih stvari za vas. Od pisanja makronaredbi koje mijenjaju listove do slanje e-poruka s proračunske tablice u Excelu pomoću VBA skripti Kako poslati e-poštu iz proračunske tablice u Excelu pomoću VBA skriptiNaš predložak koda pomoći će vam u postavljanju automatiziranih poruka e-pošte unutar programa Excel pomoću objekata podataka o kolaboraciji (CDO) i VBA skripte. Čitaj više

instagram viewer
postoji vrlo malo ograničenja u vašoj produktivnosti.

Ako niste programirali VBA u Excelu prije nego što ćete morati uključiti alate za razvojne programere u svom programu Excel. Dobra vijest je što je omogućavanje alata za programere zapravo prilično jednostavno. Samo idi na Datoteka > Opcije i onda Prilagodite vrpcu. Samo premjesti razvijač s lijevog okna na desno.

Vrpca kartice Excel Developer

Provjerite je li potvrdni okvir omogućen za ovu karticu, a sada će se kartica Developer pojaviti u vašem Excel izborniku.

Prečac na kartici Excel Developer

Najlakši način za ulazak u prozor uređivača koda odavde je samo da kliknete na Pogledaj kod gumb ispod kontrole u izborniku programera.

Sada ste spremni napisati VBA kôd! Na ovoj se kartici može pristupiti i VBA snimanje makronaredbi u Excelu Kako snimiti makronaredbu u Excelu 2016Jeste li znali da možete ponavljati zadatke koji se ponavljaju u programu Microsoft Excel pomoću makronaredbi? Pokazat ćemo vam kako snimiti makronaredbu u Excelu 2016 kako biste uštedjeli puno vremena. Čitaj više . Sad kad je Excel spreman raditi, prelazimo na neke uobičajene pogreške koje treba izbjegavati i načine kako ih spriječiti.

1. Grozna imena promjenjivih

Sad kad ste u prozoru s kôm, vrijeme je da započnete s pisanjem VBA koda. Prvi važan korak u većini programa, bilo da je u VBA ili bilo kojem drugom jeziku, je definiranje vaših varijabli. Jedna od nepravilnih imenovanja varijabli nije pravilno najčešće greške u programiranju 10 najčešćih pogrešaka u programiranju i kodiranjuPogreške kodiranja mogu dovesti do toliko mnogo problema. Ovi savjeti pomoći će vam da izbjegnete greške u programiranju i održavaju kôd značajnim. Čitaj više koje stvaraju novi programeri.

Kroz svoje desetljeće pisanja koda naišao sam na mnoge škole razmišljanja kada je u pitanju konvencionalno imenovanje konvencija i naučio sam pravila na teži način. Evo nekoliko brzih savjeta za stvaranje imena varijabli:

  • Učinite ih što kraćim.
  • Učinite ih što je moguće opisnijim.
  • Predgovor s vrstom varijable (boolean, integer, itd ...).

Evo primjera snimke zaslona iz programa koji često koristim za upućivanje WMIC Windows poziva iz Excela za prikupljanje podataka na PC-u Kako vidjeti sve podatke na računalu pomoću jednostavne skripte VBA u ExceluExcel i 10 minuta rada pružit će vam detaljnije informacije o vašem računalu nego što ste ikada smatrali mogućim. Zvuči previše dobro da bi bilo istinito? To je Windows, ako ga znate koristiti. Čitaj više .

Excel VBA varijable

Kad želite koristiti varijable unutar funkcije unutar modula ili objekta (objasnit ću ovo u nastavku), tada je morate deklarirati kao "javnu" varijablu prefakturajući deklaraciju sa Javnost. U suprotnom, varijable se deklariraju ako ih napunite riječju Dim.

Kao što vidite, ako je varijabla cijeli broj, kojoj je prefiks int. Ako je to niz, onda str. Ovo je osobna preferenca koja vam kasnije pomaže tijekom programiranja jer ćete uvijek znati kakvu vrstu podataka sadrži varijabla pogledavanjem imena.

Obavezno navedite i papire u svojoj Excelovoj radnoj knjizi.

Imenovanje Excel listova u VBA kodu

Na taj način, kada u Excel VBA kodu upućujete na list lista, vi se pozivate na ime koje ima smisla. U gornjem primjeru imam list na kojem povlačim podatke o mreži, pa list nazivam "mreža". U bilo kojem trenutku želim uputiti na mrežni list, mogu to brzo učiniti bez traženja broja lista.

2. Razbijanje umjesto petlje

Jedan od najčešćih problema koji imaju noviji VBA programeri kad započnu pisati kod je pravilno rješavanje petlji.

Looping je u programu Excel vrlo čest jer često obrađujete podatke prema cijelom retku ili stupcu, tako da ih morate petljati da biste ih obradili.

Novi programeri često žele jednostavno ispasti iz petlje (VBA Za petlje ili VBA Učinite Dok petlje Kako rade petlje u računalnom programiranjuPetlje su jedna od prvih vrsta kontrole koje ćete naučiti u programiranju. Vjerojatno znate za vrijeme i za petlje, ali što postiže petlja "dok traje"? Čitaj više ) odmah kad je određeno stanje istinito.

Izjava o izlasku u Excel VBA kodu

Evo primjera ove metode koja se koristi za probijanje VBA petlje.

Za x = 1 do 20 ako je x = 6, tada izađite za y = x + intRoomTemp. Dalje ja. 

Novi programeri koriste ovaj pristup jer je to jednostavno. Pokušajte i izbjegavajte izrijekom probijanje petlje.

Češće nego ne, važno je obraditi kôd koji dolazi nakon tog „prekida“. Mnogo čistiji i profesionalniji način da se bave uvjetima u kojima želite ostaviti petlju na pola puta je samo da taj uvjet izlaska uključite u nešto poput izjave VBA Dok.

Dok je (x> = 1 AND x <= 20 AND x <> 6) Za x = 1 do 20 y = x + intRoomTemp Dalje i. Lužički Srbin. 

To omogućava logičan tijek vašeg koda. Sada će se kod probiti i zaustaviti kad dosegne 6. Ne morate uključiti neugodne naredbe EXIT ili BREAK u sredinu.

3. Ne koristi polja

Još jedna zanimljiva greška koja novi VBA programeri Osnove računalnog programiranja 101 - varijable i tipovi podatakaPredstavivši se i porazgovarajući o objektno orijentiranom programiranju prije i gdje je njegov imenjak dolazi od, mislio sam da je vrijeme da prođemo apsolutne osnove programiranja u jeziku koji nije specifičan put. Ovaj... Čitaj više make pokušava obraditi sve unutar brojnih ugniježđenih petlji koje se filtriraju kroz redove i stupce tijekom postupka izračuna.

To bi također moglo dovesti do velikih problema s performansama. Pregledavanje stupca i vađenje vrijednosti svaki put je ubojica na vašem procesoru. Učinkovitiji način za obradu dugih popisa brojeva je korištenje matrice.

Ako nikad prije niste koristili niz, ne bojte se. Zamislite niz kao ladicu za ledene kocke s određenim brojem "kockica" u koje možete staviti informacije. Kocke su označene brojevima od 1 do 12 i na taj način ih "ubacujete" u podatke.

Niz možete lako definirati samo ako upišete Dim arrMyArray (12) kao Integer.

To će stvoriti "ladicu" s 12 utora na raspolaganju.

Evo kako može izgledati kôd za petlje retka bez niza:

Pod test1 () Dim x kao cijeli broj intNumRows = domet ("A2", raspon ("A2"). Kraj (xldown)). Raspon broja ("A2"). Odaberite za x = 1 za intNumRows ako raspon ("A" & str (x)). Vrijednost <100 tada intTemp = (raspon ("A" & str (x)). Vrijednost) * 32 - 100 Kraj ako je ActiveCell. Pomak (1, 0). Odaberite Sljedeće. Kraj Sub. 

U ovom primjeru kod se obrađuje dolje kroz svaku pojedinu ćeliju u rasponu i izvodi proračun temperature.

Ako ikada želite izvršiti neki drugi izračun na tim istim vrijednostima, postupak bi bio nespretan. Morat ćete duplicirati ovaj kôd, obraditi ih kroz sve te ćelije i izvršiti novi izračun. Sve za jednu promjenu!

Evo boljeg primjera, koristeći niz. Prvo, stvorimo niz.

Pod test1 () Dim x kao cijeli broj intNumRows = domet ("A2", raspon ("A2"). Kraj (xldown)). Raspon broja ("A2"). Odaberite za x = 1 za intNumRows arrMyArray (x-1) = raspon ("A" & str (x)). Vrijednost) ActiveCell. Pomak (1, 0). Odaberite sljedeći krajnji pod. 

x-1 za upućivanje na element polja je potrebno samo zato što petlja For počinje od 1. Elementi polja trebaju početi od 0.

Sad kad imate niz vrlo je jednostavno obraditi sadržaj.

Sub TempCalc () Za x = 0 Za UBound (arrMyArray) arrMyTemps (y) = arrMyArray (x) * 32 - 100 Dalje. Kraj Sub. 

Ovaj primjer prolazi kroz cijeli niz redova (UBound daje vam broj podataka u nizu), izračunava temperaturu i stavlja je u drugi nazvan niz arrMyTemps.

4. Korištenje previše referenci

Bez obzira da li programirate u cjelovitom Visual Basic ili VBA, morat ćete uključiti "reference" za pristup određenim značajkama.

Upućivanja su nekako poput "biblioteka" napunjenih funkcionalnostima koje možete iskoristiti ako omogućite tu datoteku. Reference možete pronaći u prikazu za razvojne programere klikom na alat u izborniku, a zatim kliknite na Reference.

Excel reference u VBA

Ono što ćete pronaći u ovom prozoru jesu sve trenutno odabrane reference za vaš trenutni VBA projekt.

Excel VBA reference

Trebali biste provjeriti ovaj popis jer nepotrebne reference mogu rasipati resurse sustava. Ako ne upotrebljavate bilo kakvu manipulaciju XML datotekama, zašto onda odabrati Microsoft XML odabran? Ako ne komunicirate s bazom podataka, uklonite Microsoft DAO itd.

Ako niste sigurni što rade ove odabrane reference, pritisnite F2 i vidjet ćete Object Explorer. Na vrhu ovog prozora, možete odabrati referentnu biblioteku za pregled.

Excel VBA Explorer Explorer

Nakon odabira, vidjet ćete sve objekte i dostupne funkcije, na koje možete kliknuti da biste saznali više.

Primjerice, kad kliknem na knjižnicu DAO, brzo postaje jasno da se tu radi o povezivanju i komunikaciji s bazama podataka.

Neka reference budu niske u VBA

Smanjenje broja referenci koje koristite u svom programskom projektu je samo dobar smisao i pomoći će vam da se vaša ukupna aplikacija pokrene efikasnije.

Programiranje u Excelu VBA

Cjelokupna ideja o pisanju koda u Excelu plaši mnoge ljude, ali taj strah zaista nije potreban. Visual Basic za aplikacije vrlo je jednostavan jezik za učenje, a ako slijedite osnovni uobičajene gore spomenute prakse, osigurat ćete da je vaš kôd čist, učinkovit i jednostavan razumjeti.

Nemojte se zaustaviti ovdje. Izgradite snažne temelje Excel vještina s VBA tutorial za početnike Vodič za programiranje Excel VBA za početnikeVBA je električni alat za Microsoft Office. Možete ga koristiti za automatizaciju zadataka s makronaredbama, postavljanje okidača i još mnogo toga. Upoznat ćemo vas s Excel vizualnim osnovnim programiranjem jednostavnim projektom. Čitaj više . Zatim nastavite učiti o VBA i makronaredbama resursi koji će vam pomoći automatizirati proračunske tablice 5 resursa za Excel makronaredbe za automatizaciju proračunskih tablicaTražite makronaredbe Excela? Evo pet web stranica koje imaju ono što tražite. Čitaj više .

Anthony Grant slobodni je pisac koji pokriva programiranje i softver. On je glavni istraživač informatike u programiranju, Excelu, softveru i tehnologiji.