Apsolutna vrijednost broja u excelu. Modulo zbrajanje u Excelu. Alternativne metode izračuna

Modul (ili apsolutna vrijednost) broja u matematici je nenegativan broj čija vrijednost ovisi o vrsti broja.
Ako broj a nenegativan, tada je modul jednak samom broju ( a na a ≥ 0), ako je negativan, tada je modul jednak svojoj pozitivnoj vrijednosti ( -a na a< 0 ):

Pronaći modulo vrijednosti U Excelu postoji standardna funkcija ABS.
Općenito, pronalaženje apsolutne vrijednosti je prilično jednostavna operacija za izračunavanje, tako da je ova funkcija standardna u mnogim programskim jezicima, na primjer, u VBA (Visual Basic for Applications) formula modula također se piše kao Abs.

Funkcija modula u Excelu

Sintaksa i opis funkcije ABS:

ABS (broj)
Vraća modul (apsolutnu vrijednost) broja.

  • Broj (obavezni argument)— realni broj čiji modul treba izračunati.

Zadajemo proizvoljan realni broj kao argument funkciji i kao rezultat dobivamo njegovu apsolutnu vrijednost:


Unatoč činjenici da se znak modula u matematici označava kao okomita crta | , pokušaj stavljanja znaka modula u Excel za traženje modulo vrijednosti rezultirat će pogreškom, na primjer, prilikom unosa formule =|-29| Excel će izbaciti pogrešku.

Alternativne metode izračuna

Ako vam je iznenada ABS formula izletjela iz glave i zaboravili ste kako izračunati modul u Excelu koristeći ga, razmotrit ćemo nekoliko načina za pronalaženje apsolutne vrijednosti broja bez korištenja ove formule.

Korištenje funkcije SIGN

Prema definiciji, modul je nenegativna vrijednost izvornog broja, dakle, množenje broja s 1 ili -1 ovisno o predznaku broja (to jest, pozitivni množimo s 1, negativni množimo s -1 ), na kraju ćemo dobiti apsolutnu vrijednost:

Što je modul

Prema definiciji, modul je matematička operacija koja vraća apsolutnu vrijednost broja, odnosno sam broj bez predznaka. Unatoč specifičnostima, korištenje modula se može naći ne samo u rješavanju matematičkih problema, već iu ekonomskim modelima, fizici i mnogim drugim egzaktnim znanostima.

Kako izračunati modul u Excelu?

Da biste izračunali modul u Excelu, možete koristiti nekoliko metoda, od kojih je najjednostavnija funkcija ABS. Vraća apsolutnu vrijednost odabranog broja ili matematičkog izraza.

Sintaksa funkcije modula vrlo je jednostavna - u Excelu samo trebate postaviti “=ABS” u traku formule, zatim u zagradama navesti argument koji može biti broj, referenca na ćeliju, kao i neki funkcija koja vraća brojčanu vrijednost. Ovu operaciju možete izvesti i klikom na gumb "Umetni funkciju", gdje odaberete odgovarajuću funkciju, ili korištenjem pretraživanja, navodeći riječ "modul" ili "ABS".

Izračunavanje zbroja modula

Jedna od najčešćih operacija u Excelu je modulo zbroj. Omogućuje vam dodavanje vrijednosti ćelija bez uzimanja u obzir njihovog znaka. Da biste izvršili ovu radnju, ne morate prvo izračunati modul svakog broja, a zatim koristiti funkciju zbroja.

Prilikom izvođenja operacije koja uključuje više vrijednosti, modul u Excelu može raditi na cijelom skupu ili rasponu ćelija istovremeno. Dakle, za izračunavanje modulo zbroja dovoljno je koristiti sljedeću konstrukciju upita:

=SUM(ABS(A1:A4))

Ovdje, u stupcu A, prva četiri retka označavaju vrijednosti za koje je potrebno izvršiti modulo zbrajanje.

Primjeri

Da biste učvrstili svoje razumijevanje opisa modula u Excelu i načela njegovog rada, vrijedi razmotriti nekoliko jednostavnih primjera koji pokazuju rad funkcije.

Za izračun modula određenog broja ili matematičkog primjera, na primjer, razlike između 2 i 5, trebali biste koristiti sljedeću notaciju:

=ABS(2-5)

Rezultat ovog upita bit će broj "3".

Ako trebate izračunati zbroj modula elemenata matrice, čije su vrijednosti zapisane u tablici, s rasponom A1:C3, najbrži način da pronađete odgovor je sljedeća konstrukcija:

=SUM(ABS(A1:C3))

Primjer izračuna modula

Da bismo ovaj primjer lakše razumjeli, učinimo sve sami ručno. Prvo, kopirajmo ga u praznu karticu vašeg Excela. To se radi ovako:
Istaknite primjer. Ako primjer treba kopirati u Excel Web App, kopirajte i lijepite jednu po jednu ćeliju. Pažnja - naslove redaka i stupaca nije potrebno označavati.

Nakon odabira pritisnite CTRL i C na tipkovnici. To će prebrisati polje koje ste odabrali. Zatim idite na svoju karticu i na ćeliji A1 pomaknite odabir pritiskom na tipke CTRL i V. Ovo je operacija kopiranja. Ako radite u Excel Web Appu, ovaj postupak napravite za svaku ćeliju zasebno. Pažnja! Da bi se ovaj primjer ispravno izvodio, mora se umetnuti u karticu u ćeliji A1.

Da biste se prebacili iz načina pregleda rezultata u način pregleda formula koje vraćaju ovaj modul, morate pritisnuti dvije tipke zajedno, odnosno control + ` (tupi naglasak), ili odabirom gumba “Prikaži formule”.

3 Formula Opis rezultata

Ako raspon sadrži pozitivne i negativne brojeve i trebate dobiti zbroj apsolutnih vrijednosti, to možete učiniti upisivanjem u jednu ćeliju.

Lako je pronaći zbrajanje apsolutnih vrijednosti u bilo kojem rasponu (na primjer, A12:A15), samo stvorite dodatni stupac tako da u njega upišete =ABS(A12). Zatim pomoću funkcije SUM izračunamo zbrajanje. Moguće je odmah kreirati formulaciju koja će tražiti zbroj apsolutnih vrijednosti. Nema potrebe za stvaranjem dodatnog stupca. Izgledat će ovako =SUMPROIZVOD(ABS(A12:A15)).

Druga opcija za modulo zbrajanje provodi se korištenjem polja =SUM(ABS(A12:A15)). Tek nakon unosa ovoga trebate pritisnuti control i shift+enter umjesto entera.

Ovaj uzorak je dao cjelovit i opsežan odgovor na postavljeno pitanje i sada vam ništa neće stvarati poteškoće. Sretan rad u excelu!

Što je modul i koja funkcija traži njegovu vrijednost u Excelu? Apsolutnu vrijednost znamenke vraća funkcija ABS. Apsolutna vrijednost je vrijednost broja bez predznaka; to je modul.
Kako ovo ispravno napisati u excelu?
ABS (broj koji vam je potreban), na primjer, ABS (-156).
Sintaksa funkcije ABS(modul) ima sljedeće argumente.
Broj je obavezan parametar. Ovo je realan broj čija se veličina mora pronaći.

Primjer izračuna modula

Da bismo ovaj primjer lakše razumjeli, učinimo sve sami ručno. Prvo, kopirajmo ga u praznu karticu vašeg Excela. To se radi ovako:
Istaknite primjer. Ako primjer treba kopirati u Excel Web App, kopirajte i lijepite jednu po jednu ćeliju. Pažnja - naslove redaka i stupaca nije potrebno označavati.

Nakon odabira pritisnite CTRL i C na tipkovnici. To će prebrisati polje koje ste odabrali. Zatim idite na svoju karticu i na ćeliji A1 pomaknite odabir pritiskom na tipke CTRL i V. Ovo je operacija kopiranja. Ako radite u Excel Web Appu, ovaj postupak napravite za svaku ćeliju zasebno. Pažnja! Da bi se ovaj primjer ispravno izvodio, mora se umetnuti u karticu u ćeliji A1.

Da biste se prebacili iz načina pregleda rezultata u način pregleda formula koje vraćaju ovaj modul, morate pritisnuti dvije tipke zajedno, odnosno control + ` (tupi naglasak), ili odabirom gumba “Prikaži formule”.

3 Formula Opis rezultata

Ako raspon sadrži pozitivne i negativne brojeve i to je potrebno, onda se to može učiniti upisivanjem u jednu ćeliju.

Lako je pronaći zbrajanje apsolutnih vrijednosti u bilo kojem rasponu (na primjer, A12:A15), samo stvorite dodatni stupac tako da u njega upišete =ABS(A12). Zatim pomoću funkcije SUM izračunamo zbrajanje. Moguće je odmah kreirati formulaciju koja će tražiti zbroj apsolutnih vrijednosti. Nema potrebe za stvaranjem dodatnog stupca. Izgledat će ovako =SUMPROIZVOD(ABS(A12:A15)).

Druga opcija za modulo zbrajanje provodi se korištenjem polja =SUM(ABS(A12:A15)). Tek nakon unosa ovoga trebate pritisnuti control i shift+enter umjesto entera.

Ovaj uzorak je dao cjelovit i opsežan odgovor na postavljeno pitanje i sada vam ništa neće stvarati poteškoće. Sretan rad u excelu!

Upoznavanje s pojmovima modul, procedura, obrazac u VBA Excelu. Moduli različitih vrsta. Izrada prilagođenog obrasca. Ugrađeni dijaloški okviri.

Najlakši način da odete do VBA editora je da pritisnete kombinaciju tipki Alt+F11 dok je Excel prozor aktivan (ovdje se koristi lijeva tipka Alt). Ova kombinacija radi u svim verzijama programa. Ako u prozoru koji se otvori nema lijevog prozora istraživača “Project-VBAProject”, pozovite ga kroz glavni izbornik odabirom “View” - “Project Explorer”. Unutarnji prozori u VBA uređivaču mogu se povlačiti i postavljati na druga mjesta u glavnom prozoru.

Modul

Moduli Excel radne knjige su datoteke dizajnirane za stvaranje i pohranjivanje programskog koda u obliku procedura (potprograma, funkcija i korisničkih svojstava). Postoji nekoliko vrsta modula.

Standardni modul

Standardni modul je zasebna datoteka ugrađena u Excel radnu knjigu i pripada svim objektima radne knjige koji su u interakciji s modulima (radna knjiga, radni list, korisnički obrazac). Standardni modul se može izvoziti, uvoziti i brisati. Njegove javne procedure s jedinstvenim nazivima dostupne su u svim ostalim modulima radne knjige bez dodatnog adresiranja. Javne procedure s nejedinstvenim nazivima zahtijevaju naziv modula iz kojeg se pozivaju.

Izrada standardnog modula:

  1. Otvorite Excel radnu knjigu u koju planirate dodati novi standardni modul ili izradite novu radnu knjigu za potrebe obuke.
  2. Otvorite VBA editor pomoću tipkovničkog prečaca Alt+F11.
  3. U prozoru uređivača VBA kliknite na stavku izbornika "Umetni" i odaberite "Modul" s popisa koji se otvori.

Tako ste stvorili novi standardni modul. U Exploreru s desne strane pojavila se mapa “Modules” iu njoj datoteka “Module1” (ili “Module” s drugim brojem ako je vaša knjiga već imala module). Isti moduli nastaju prilikom snimanja s ugrađenim snimačem.

Možete otvoriti ili otići na prozor otvorenog standardnog modula dvostrukim klikom na njegovo ime u Exploreru ili otvaranjem kontekstnog izbornika desnom tipkom miša i odabirom “View Code”. Osim toga, svi već otvoreni moduli dostupni su u kartici "Prozor" u glavnom izborniku.

Važna nota: U programu Excel 2007-2016, radne knjige s programskim modulima spremaju se kao "Excel radna knjiga s podrškom za makronaredbe (.xlsm)." Ako ste dodali modul u radnu knjigu “Excel radna knjiga (.xlsx)”, tada kada je spremite ili zatvorite, Excel će ponuditi da ga spremite kao “Excel radna knjiga s podrškom za makronaredbe (.xlsm)”, u suprotnom se mijenja (kreira ili uvozi moduli) neće biti bit će sačuvani.

Modul knjige

Modul radne knjige pripada samo objektu radne knjige. Možete otvoriti ili otići do prozora modula otvorene knjige dvostrukim klikom na stavku "Ova knjiga" u Exploreru ili otvaranjem kontekstnog izbornika desnom tipkom miša i odabirom "Prikaži kod". Osim toga, otvoreni modul dostupan je u kartici "Prozor" u glavnom izborniku.

Modul listova

Modul radnog lista pripada samo objektu Radni list. Možete otvoriti modul lista dvostrukim klikom na njegovo ime u Exploreru ili desnim klikom na kontekstni izbornik na njemu i odabirom "Prikaži kod". Osim toga, možete otići na modul lista iz radne knjige tako da desnom tipkom miša kliknete prečac ovog lista i odaberete "Prikaz koda" u kontekstnom izborniku. Otvoreni modul dostupan je u kartici "Prozor" u glavnom izborniku.

Modul obrasca

Modul forme pripada samo objektu UserForm. Otvorite VBA uređivač pomoću tipkovničkog prečaca Alt+F11 i kliknite na stavku izbornika "Umetni". Na popisu koji se otvori odaberite "Korisnički obrazac". Ovo će stvoriti novi korisnički obrazac "UserForm1". U Exploreru s desne strane pojavila se mapa “Forms” iu njoj datoteka “UserForm1”. Na modul obrasca možete otići dvostrukim klikom na sam obrazac ili desnim klikom na naziv obrasca u Exploreru i odabirom “View Code” u kontekstnom izborniku. Osim toga, otvoreni modul dostupan je u kartici "Prozor" u glavnom izborniku.

Možete stvoriti bilo koji broj standardnih modula u jednoj knjizi, samo jedan modul knjige, samo jedan modul lista ili obrasca za svaki list ili instancu obrasca.

Možete se prebacivati ​​između otvorenih prozora obrazaca i modula klikom na karticu “Prozor” u glavnom izborniku, gdje su navedeni svi otvoreni moduli i obrasci (aktivni objekt je označen kvačicom).

Postupak

Procedure u VBA Excelu podijeljene su u 3 vrste:

  • Sub (podrutina),
  • funkcija (funkcija),
  • Vlasništvo (prilagođena svojstva).

Glavna razlika između funkcije i potprograma je u tome što funkcija vraća rezultat izračuna, dok potprogram to ne čini. Procedura Property namijenjena je stvaranju i upravljanju prilagođenim svojstvima (ne koristi se često).

U uređivaču VBA Excel idite na standardni modul i kliknite na stavku izbornika "Umetni". Na popisu koji se otvori odaberite "Procedura...". Pojavit će se prozor u kojem ćete morati unijeti naziv postupka, odabrati vrstu i područje vidljivosti. Napravite nekoliko procedura s različitim područjima vidljivosti, neka jedna bude Sub, a druga Function. U intervalu između početka i kraja postupka ispisuje se programski kod.

Private Sub Test() "End Sub kod je napisan ovdje

Privatna vidljivost znači da se ova procedura može pozvati samo iz istog modula u kojem je napisana.

Javna vidljivost znači da se ovaj postupak može pozvati ne samo iz istog modula u kojem je napisan, već i iz bilo kojeg drugog modula ove radne knjige, pa čak i iz modula drugih radnih knjiga.

Javna procedura (Javno) može se napisati bez eksplicitnog navođenja vidljivosti - Zona javne vidljivosti se pretpostavlja prema zadanim postavkama.

Prvo snimanje:

Public Sub Test() End Sub

i drugi unos:

Sub Test() End Sub

MsgBox je prozor koji prikazuje informacije vraćajući numeričku vrijednost tipke koju je korisnik pritisnuo.

InputBox je prozor koji od korisnika traži da unese neke tekstualne informacije. Postoji i proširena verzija ovog prozora - koja se može koristiti za pisanje adrese odabranog raspona ćelija i ne samo za ovo.

Modul (ili apsolutna vrijednost) broja u matematici je nenegativan broj čija vrijednost ovisi o vrsti broja.
Ako broj a nenegativan, tada je modul jednak samom broju ( a na a ≥ 0), ako je negativan, tada je modul jednak svojoj pozitivnoj vrijednosti ( -a na a< 0 ):

Pronaći modulo vrijednosti U Excelu postoji standardna funkcija ABS.
Općenito, pronalaženje apsolutne vrijednosti je prilično jednostavna operacija za izračunavanje, tako da je ova funkcija standardna u mnogim programskim jezicima, na primjer, u VBA (Visual Basic for Applications) formula modula također se piše kao Abs.

Funkcija modula u Excelu

Sintaksa i opis funkcije ABS:

ABS (broj)
Vraća modul (apsolutnu vrijednost) broja.

  • Broj(obavezni argument) - realni broj čiji modul treba izračunati.

Zadajemo proizvoljan realni broj kao argument funkciji i kao rezultat dobivamo njegovu apsolutnu vrijednost:

Unatoč činjenici da se znak modula u matematici označava kao okomita crta | , pokušaj stavljanja znaka modula u Excel za traženje modulo vrijednosti rezultirat će pogreškom, na primjer, prilikom unosa formule =|-29| Excel će izbaciti pogrešku.

Alternativne metode izračuna

Ako vam je iznenada ABS formula izletjela iz glave i zaboravili ste kako izračunati modul u Excelu koristeći ga, razmotrit ćemo nekoliko načina za pronalaženje apsolutne vrijednosti broja bez korištenja ove formule.

Korištenje funkcije SIGN

Prema definiciji, modul je nenegativna vrijednost izvornog broja, dakle, množenje broja s 1 ili -1 ovisno o predznaku broja (to jest, pozitivni množimo s 1, negativni množimo s -1 ), na kraju ćemo dobiti apsolutnu vrijednost:

Korištenje funkcije SQRT

Za pronalaženje modula također možemo koristiti svojstvo kvadratnog korijena u Excelu.
Podsjetimo se da Excel koristi koncept aritmetičkog korijena za izračun korijena parnih potencija.
Drugim riječima, parni korijen u Excelu uvijek ima nenegativnu vrijednost, tako da kada vadimo kvadratni korijen kvadratnog broja, opet završavamo s apsolutnom vrijednošću:

Sretno vam i vidimo se uskoro na stranicama bloga Tutorexcel.ru!

Kolega me jednom pitao kako koristiti Excel formule za izračunavanje zbroja apsolutnih vrijednosti u zadanom rasponu. Ovo se pitanje prilično redovito pojavljuje na forumima, a mnogi korisnici često imaju velikih poteškoća s ovom naizgled jednostavnom radnjom.

Nažalost, u Microsoft Excelu nema ugrađene funkcije koja može izvesti modulo zbrajanje, tako da morate malo raditi da biste dobili točan odgovor.

Evo naših podataka:

Vidimo da je zbroj brojeva u rasponu A2:A8 daje rezultate -60 :

10 + 10 + 20 + -20 + 30 + -40 + -50 = -60

Ako bismo gledali apsolutne vrijednosti (brojeve bez znaka "-"), rezultat bi bio:

10 + 10 + 20 + 20 + 30 + 40 + 50 = 180

Opcija 1 - korištenje pomoćnog stupca

Po mom mišljenju, najbolji način za izračunavanje zbroja apsolutnih vrijednosti u Excelu je korištenje pomoćnog stupca. U ćeliju B2 unesite formulu:

Zatim ga rastegnite do ćelije B8. Funkcija ABS vraća modul broja. Dakle, sada možemo samo zbrojiti raspon B2:B8 i to će nam dati rezultat.

SUM(B2:B8)
=SUM(B2:B8)

U mom primjeru raspon A1:A8 je potpuna podatkovna tablica. Stoga se pri dodavanju formule =ABS(A2) u ćeliju U 2 Excel je proširio tablicu i automatski ispunio sve ćelije u stupcu. Zatim sam otišao na karticu Konstruktor(Dizajn), koji se nalazi u grupi kartica Rad s tablicama(Alati tablice), te stavite kvačicu pored opcije Ukupna linija(Ukupni redak). Sve vrijednosti u stupcu B automatski su se zbrajali, a rezultat je bio prikazan u zasebnom retku.

Za izračun iznosa u ukupnom retku koristite funkciju MEDUZBURNICI(SUBTOTAL). Ovo je generička funkcija koja može izvesti zbrajanje, baš kao i funkcija IZNOS(IZNOS). Ali postoje i značajne razlike, npr. MEDUZBURNICI(SUBTOTAL) potpuno zanemaruje brojeve koji su skriveni ručno ili filtriranjem. Postoji još nekoliko razlika, ali one nemaju mnogo veze s temom ovog članka.

Dobra stvar u vezi s metodom pomoćnog stupca je ta što vam daje veću fleksibilnost ako podatke trebate koristiti u budućnosti, na primjer, u obliku tablice ili zaokretne tablice. Osim toga, pomoćni stupac se može koristiti za sortiranje brojeva po modulu.

Ovo je nedvojbeno vrlo dobar način, ali što učiniti kada trebate sve smjestiti u jednu formulu bez ikakvih pomoćnih stupaca?

Opcija 2 - korištenje funkcije SUM u formuli polja ili SUMPRODUCT

Koristite formulu polja ili SUMPROIZVOD(SUMPRODUCT) rješavanje takvog problema vrlo je grub pristup!

Funkcija IZNOS u formuli niza:

SUM(ABS(A2:A8))
=SUM(ABS(A2:A8))

Prilikom unosa formule polja, obavezno pritisnite Ctrl+Shift+Enter.

Formula sa SUMMPRESS:

SUMPROIZVOD(ABS(A2:A8))
=SUMPROIZVOD(ABS(A2:A8))

Uzimajući u obzir da se može koristiti učinkovitija funkcija SUMIF(SUMIF) da biste dobili isti rezultat (pogledajte opciju 3), put koji koristi ove dvije formule postaje nepoželjan. Obje formule rade odlično s malim rasponima podataka, siguran sam da nećete ni primijetiti razliku. Ako trebate zbrojiti veliki broj vrijednosti, brzina rada će se značajno usporiti.

Opcija 3 - korištenje SUMIF

Mislim da je ovaj pristup najprikladniji od svih prethodno navedenih. Korištenje funkcije SUMIF(SUMIF) vrijednosti podijeljene su u 2 niza: s pozitivnim i negativnim brojevima i zbrojene. Nula se zanemaruje iz očitih razloga. Tada jednostavno oduzimamo negativni od pozitivnog zbroja (tj. zbrajamo ih). Formula izgleda ovako:

SUMIF(A2:A8,">0")-SUMIF(A2:A8,"0")-SUMIF(A2:A8,"0","0","
Nastavljamo seriju članaka o matematičkim formulama u Excelu. Danas ćemo analizirati formulu za pisanje "modula u Excelu". Modul broja koristi se za određivanje apsolutne vrijednosti broja, na primjer duljine segmenta. U nastavku nudimo nekoliko načina za izračunavanje modula broja u Excelu, glavna funkcija je ABS, a dodatni izračuni pomoću funkcija IF i SQRT.

Kao što slijedi iz definicije, modul broja je nenegativan broj, vrijednost samog broja. Oni. ako imamo negativan broj -7, tada će u modulu biti jednak 7. Modul se piše kao dvije okomite crte:

|-7| = 7

Čemu služi? Ako imamo vrijednost vektora jednaku -7, gdje minus označava njegov suprotan smjer, tada da bismo pronašli duljinu samog vektora, moramo izračunati apsolutnu vrijednost broja (budući da duljina ne može biti negativna vrijednost ).

Također se prilično često može pronaći korištenje modula pri izračunavanju negativne vremenske vrijednosti, ali o tome imamo poseban članak.

Izračunajte modul u Excelu, ABS funkcija

U većini programskih jezika, modul broja nalazi se pomoću ABS funkcije (iz apsolutne vrijednosti, Trbušnjaci oluta). Naš voljeni Excel nije iznimka.

Unesite formulu u ćeliju:

Kao što slijedi iz opisa funkcije, vrijednost takve formule bit će jednaka 7.

Kako izračunati modul koristeći IF, alternativnu metodu

U osnovi, djelovanje funkcije Modulus je određivanje je li broj negativan ili ne i prosljeđivanje njegove vrijednosti. To jest, glavnom funkcijom uvjeta =IF() lako je rukovati.


Makronaredbe (VBA procedure) (63)
Razno (39)
Greške i greške u programu Excel (4)

Što je modul? Koje vrste modula postoje?

Sav VBA kod mora biti negdje pohranjen. Za pohranjivanje kodova u VBA koriste se moduli koji se pohranjuju u radnu knjigu. Knjiga može sadržavati onoliko modula koliko želite. Svaki modul pak može sadržavati mnoge procedure (makronaredbe).
Svi moduli dostupni u knjizi mogu se pregledati kroz VBA editor ( Alt+F11). Dostupni moduli prikazani su na lijevoj strani uređivača u Project Exploreru.
Sl. 1
Sam istraživač objekata možda neće biti prikazan prema zadanim postavkama, a onda se mora prikazati: kliknite Ctrl+R ili u izborniku VBA uređivača- Pogled-Istraživač projekta

Moduli su podijeljeni u pet glavnih tipova:

Općenito, točnije, postoje samo dvije vrste modula - redovni i razredni moduli, jer Modul listova, Modul knjige, Prilagođeni modul obrasca I Modul razreda su u biti moduli klase. Ali posebno sam ih podijelio u nekoliko vrsta, jer... Ovi tipovi se često koriste za objašnjenja u raznim udžbenicima i na raznim forumima, au samim Excel knjigama razlikuju se po izgledu i po nekim funkcijama.

Kako bi se stvorio novi standardni modul, modul klase (ClassModule) ili korisnički obrazac (UserForm) Samo trebate kliknuti desnom tipkom miša u prozoru Project Explorer i odabrati Umetnuti a zatim tip objekta koji se dodaje( Modul, ClassModule, Korisnički obrazac). Također možete dodati modul putem izbornika: Umetnuti- vrsta modula.
Uklanjanje je također jednostavno: desnom tipkom miša kliknite željeni modul u prozoru projekta i odaberite Ukloniti. Više detalja o brisanju na kraju ovog članka:

STANDARDNI MODUL
na slici 1 Modul1 .
Najčešći tip modula koji se koristi u većini slučajeva. U njima snimač makronaredbi stvara makronaredbe koje je moguće snimiti. Svi kodovi i postupci u takvim modulima napisani su ručno ili kopirani iz drugih izvora (drugi modul, s ove stranice itd.). Uglavnom, većina koda je sadržana u standardnim modulima. Dizajnirani su za pohranu glavnih procedura i javnih varijabli, kojima se kasnije može pristupiti iz bilo kojeg modula. Kako stvoriti standardni modul: u prozoru preglednika objekata desnom tipkom miša kliknite - Umetnuti-Modul. Prilikom snimanja s makro snimačem, moduli se automatski stvaraju i automatski im se dodjeljuju imena.
Mnogi kodovi objavljeni u člancima na stranici moraju se smjestiti u standardne module. Da biste to učinili, samo izradite novi standardni modul, kopirajte tekst koda s web mjesta i zalijepite ga.

MODUL LISTA
List1 ili List1 - na slici 1: List1(list1), List2(list2), List3(list3).
Svaki list knjige ima svoj zasebni modul. Ulazak u modul listova lakši je od ulaska u druge module. Da biste to učinili, samo desnom tipkom miša kliknite prečac lista i odaberite stavku iz kontekstnog izbornika Izvorni tekst (Pogledajte kod)
Ovisno o verziji programa Excel, ova stavka na ruskom može imati isti naziv: Pogledaj kod ili Izvor :

Možete ići težim putem - kroz VBA uređivač: Alt+F11 iu prozoru Project Explorer dvaput kliknite na objekt s nazivom lista ili kliknite desnom tipkom miša na modul lista - Pogledaj kod.
Prilikom postavljanja koda u modul lista, imajte na umu da će se kod kopiranja ili prijenosa ovog lista u drugu radnu knjigu također kopirati, jer je dio lista. Ovo je i plus i minus u isto vrijeme. Prednost je u tome što postavljanjem koda u sheet modul možete koristiti ovaj list kao predložak za distribuciju s vlastitim gumbima za pozivanje tih kodova (uključujući kreiranje knjiga s kodom) i sve će funkcije biti dostupne. Loša strana su neke nijanse pristupa ćelijama (više detalja možete pronaći u ovom članku: Kako pristupiti rasponu iz VBA) i potreba da se SVIH korištenih postupaka smjesti na ovaj list, inače kodovi mogu raditi s pogreškama kada se prenesu u druge radne knjige .

Modul lista sadrži ugrađene procedure događaja, od kojih je svaka odgovorna za rukovanje određenim događajem na tom listu. Možete ih vidjeti ovako: odaberite objekt (na slici ispod popis je s lijeve strane) Radni list i odaberite događaj na desnom popisu (ovaj popis sadrži sve postupke dostupne za odabrani list):


Postupci za koje se događaji već koriste označeni su masnim slovima.

Imena procedura događaja prilično su informativna i većina njih ne zahtijeva pažljivo dekodiranje. Ali smatram da je potrebno opisati najvažnije dijelove koji se koriste u svakom slučaju:

  • Aktivirati- javlja se kada je sam list aktiviran (ali ne događa se ako postoji prijelaz iz jedne radne knjige u drugu i taj list je tamo aktivan)
  • Prije DoubleClick-a- pojavljuje se kada dvaput kliknete na bilo koju ćeliju lista. Važno je obratiti pozornost na proslijeđene argumente: Cilj i Odustani. Cilj - poveznica na ćeliju u kojoj je radnja izvršena; Odustani - odgovoran je za otkazivanje moda uređivanja
  • Prije desnog klika- javlja se kada desnom tipkom miša kliknete bilo koju ćeliju lista. Važno je obratiti pozornost na proslijeđene argumente: Cilj i Odustani. Cilj - poveznica na ćeliju u kojoj je radnja izvršena; Odustani - odgovoran je za otkazivanje prikaza skočnog izbornika
  • Izračunati- javlja se kod ponovnog izračunavanja funkcija i formula na listu
  • Promijeniti- Javlja se kada se mijenjaju vrijednosti ćelija na listu. Važno je obratiti pozornost na argument Target koji se prosljeđuje. Cilj - referenca na ćeliju koja je promijenjena. Može se razlikovati od aktivne ćelije u trenutku obrade
  • Deaktiviraj- javlja se pri prelasku s ovog lista na drugi list iste radne bilježnice
  • Slijedite hipervezu- pojavljuje se kada slijedite hipervezu stvorenu na ovom listu
  • SelectionChange- javlja se kada se promijeni adresa odabrane ćelije/područja. Važno je obratiti pozornost na argument Target koji se prosljeđuje. Cilj - referenca na raspon ćelija koje su odabrane. Odgovara trenutno odabranim ćelijama

Vrlo važna točka: Ako se želite bolje upoznati s procedurama događaja, uvijek obratite pozornost na varijable koje se prosljeđuju kao argumenti proceduri. U većini slučajeva preporučam korištenje ovih varijabli umjesto izmišljanja raznoraznih mogućnosti za izračun objekta koji je uzrokovao događaj. Za list događaj Radni list_Promjena ovo je varijabla Cilj. Kao primjer, zalijepite donji kod u bilo koji modul lista:

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Izmijenjena adresa ćelije: "& Target.Address & _ "; Aktivna adresa ćelije: "& Selection.Address, vbInformation, "www.site" End Sub

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Promijenjena adresa ćelije: " & Target.Address & _ "; Aktivna adresa ćelije: " & Selection.Address, vbInformation, "www.site" End Sub

Nakon toga upišite vrijednost 5 u ćeliju A1 i pritisnite Enter. Događaj Promjena aktivirat će se kada se uređivanje završi - tj. u trenutku kada pritisnete Enter. U tom slučaju, izvršit će se prijelaz na ćeliju A2 (u većini slučajeva, osim ako nije drugačije navedeno u postavkama) i pojavit će se poruka koja će pokazati da je ćelija A1 promijenjena, a A2 sada odabrana. Oni. Cilj je uvijek poveznica na promijenjenu ćeliju, bez obzira što je trenutno odabrano. Ovaj događaj (Worksheet_Change) neće se aktivirati kada se promijene vrijednosti ćelija s formulama. Samo ručni unos.

Bilješka: za sve kodove dane na stranici, samo trebate otvoriti traženi modul (knjiga ili list) i zalijepite predloženi kod. Prilagodba može biti potrebna samo u slučajevima kada modul List ili Radna knjiga vaše datoteke već ima kod u potrebnoj proceduri događaja.

MODUL KNJIGA
Ova knjiga ili Ova radna knjiga - na slici 1: Ova knjiga .
Modulu knjige može se pristupiti samo kroz Project Explorer VBA uređivača - dvaput kliknite na njega Ova knjiga (ThisWorkbook) ili desnom tipkom miša na modulu - Pogledaj kod. Modul knjige također sadrži "ugrađene" procedure događaja. Baš kao i za list, odaberite s popisa objekata (gore lijevo) Radna bilježnica. U desnom prozoru za odabir procedura, kao i kod sheet modula, bit će sve dostupne procedure za objekt Ova knjiga. Primjer korištenja procedura događaja knjige može se pronaći u članku Kako pratiti događaj (na primjer, odabir ćelije) u bilo kojoj knjizi?
Ali tamo vrijede sva ista pravila - glavna stvar je ne zaboraviti na argumente dostupne iz ovih procedura koje im je proslijedio sam Excel. Na primjer, događaj Workbook_BeforeClose ima dostupan argument Odustani. Ovo se može koristiti ako ne želite da korisnik zatvori radnu knjigu bez ispunjavanja ćelije A1. Evo primjera takvog koda:

Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Sheets("Report").Range("A1").Value = "" Then MsgBox "Morate ispuniti ćeliju A1 na listu "Izvješće", vbCritical, "www .site" Cancel = True "cancel zatvaranje knjige End If End Sub

Iz koda možete vidjeti da na listu "Izvješće" mora postojati neprazna ćelija A1 (list "Izvješće" također mora postojati u ovoj radnoj knjizi). Ali postoji još jedna stvar – neki Mi. Ovo je kratki poziv objektu modula klase, u ovom slučaju je ekvivalentan pozivu ThisWorkbook. I još jedan primjer koda za modul ThisBook, koji zabranjuje spremanje originalne knjige, dopuštajući da se sprema samo kroz stavku Spremi kao:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = False Then "upotrebljava jednostavno spremanje MsgBox "Ova radna knjiga je predložak. Možete je spremiti samo putem Save As", vbCritical, "www.site" Cancel = True "otkaži spremanje knjige End If End Sub

Ovo može biti potrebno ako je radna knjiga predložak s poljima za popunjavanje i želite spriječiti slučajno spremanje izvornog dokumenta. Iako se to može učiniti i bez makronaredbi - knjiga se može spremiti s dopuštenjima samo za čitanje.

MODULI FORME
Korisnički obrazac - na slici 1 Korisnički obrazac1 .
Sadržano unutar UserForma i njegovih objekata. U korisničkim obrascima uglavnom je sve vezano upravo za procedure događaja same forme i za elemente ove forme (Gumbi, TextBoxes, ComboBoxes (padajuće liste), itd.). Vrlo je zgodno koristiti korisničke obrasce u svojim aplikacijama za komunikaciju s korisnikom. Jer Putem obrazaca vrlo je zgodno pratiti radnje korisnika, a možete zabraniti pristup listovima s podacima tako da ih sakrijete. Forma se stvara na isti način kao i modul: u prozoru istraživača objekata desnom tipkom miša kliknite - Umetnuti-Korisnički obrazac. Primjere kodova koji koriste obrasce možete pronaći u člancima: Svaki korisnik ima svoj list/raspon, Kako u ćeliji ostaviti samo brojeve ili samo tekst?

MODUL RAZREDA
ClassModule - na slici 1 Klasa1 .
U većini slučajeva kreiran je posebno za praćenje događaja različitih objekata. Malo je vjerojatno da će početnici morati učiti VBA, iako sve ovisi o zadatku koji se radi. Ali obično je početnicima preteško naučiti. U svakom slučaju, prije rada s modulima razreda, bolje je naučiti barem malo raditi s običnim modulima i sami pisati procedure. Kako dodati takav modul: u prozoru preglednika objekata desnom tipkom miša kliknite - Umetnuti-Modul klase. Više o modulima klase i radu s njima možete pročitati u ovom članku: Rad s modulima klase. Tamo su opisana sva osnovna načela, a priložena je i primjerna datoteka.

UKLANJANJE MODULA
Koraci za uklanjanje bilo kojeg modula isti su za sve vrste. Da biste to učinili, potrebno je otići na VBA projekt željene knjige, odabrati željeni modul, kliknuti ga desnom tipkom miša i odabrati iz izbornika koji se pojavi Ukloni (naziv modula)...(Ukloni Module1, Ukloni UserForm1, Ukloni Class1, itd.). Nakon toga će se pojaviti prozor s pitanjem "Želite li izvesti (naziv modula) prije nego što ga uklonite?". To znači da VBA pita: Želite li zadržati kopiju koda modula prije nego što ga izbrišete? U pravilu, trebali biste odabrati Ne. Ali ako želite spremiti tekst kodova iz uklonjenog modula u zasebnu datoteku, onda se složite klikom na Da. Od vas će se tražiti da odaberete mapu za spremanje modula, a možete mu čak dati i zasebno ime.

MODUL TRANSFER, UVOZ I IZVOZ
Ponekad morate premjestiti modul iz jedne knjige u drugu. Postoji nekoliko načina za to. Najjednostavnije je otvoriti obje knjige, otići u Project Explorer - pronaći željeni modul - uhvatiti ga lijevom tipkom miša i, ne puštajući gumb, povući u projekt druge knjige:


Treba imati na umu da se na ovaj način mogu prenijeti i kopirati samo standardni modul, modul klase i modul UserForm. Kodovi modula listova i knjiga morat će se prenijeti kao običan tekst: idite na modul ThisBook (odakle želimo kopirati) - kopirajte cijeli kod - idite na modul ThisBook druge knjige i zalijepite ono što je kopirano :


Izvoz modula (spremanje u posebnu datoteku)
Ako trebate spremiti standardni modul, modul klase ili modul obrasca i ne prenijeti ga odmah u drugu radnu knjigu, tada možete izvesti modul. Zašto bi ovo moglo biti potrebno? U pravilu, za prijenos kodova od kuće na posao, pošaljite ih nekome na drugom računalu (slanje datoteke s makronaredbama može biti zabranjeno sigurnosnom politikom tvrtke) itd. To se radi jednostavno: desnom tipkom miša kliknite na modul - Izvezi datoteku.
Izvezeni moduli imaju različita proširenja, ovisno o vrsti modula. Za standardne module ovo je .bas(Module1.bas), za module klase - .cls(Class1.cls). Ali za module obrasca stvorit će se dvije datoteke: UserForm1 .frm i korisnički obrazac1 .frx. Važno ih je pohraniti zajedno - jedan bez drugog se kasnije ne mogu uvesti u datoteku. Datoteka .frx pohranjuje informacije o vizualnom prikazu obrasca i njegovih elemenata, da tako kažemo. Datoteka .frm izravno pohranjuje tekstove koda za obrazac i servisne informacije (naziv i dimenzije obrasca, neke globalne direktive i vezu na datoteku .frx). Stoga se ne preporučuje preimenovati ove dvije datoteke bez odgovarajućih vještina u nadi da će sve raditi kasnije.
Uvoz modula (prijenos prethodno izvezenog u novu knjigu)
Za prijenos izvezenog modula u drugu radnu knjigu jednostavno trebate odabrati željeni projekt desnom tipkom miša u pregledniku objekata - Modul uvoza-u dijaloškom okviru odaberite željeni modul.
Možete izvesti bilo koji modul, ali ga ne možete uvesti. Iako se moduli lista i radne knjige izvoze u zasebne datoteke (usput, s nastavkom .cls), ne mogu se uvesti u obliku koji je predviđen. Oni će biti uvezeni kao novi moduli klase i ništa više. Stoga, za prijenos kodova iz modula lista i radne knjige, ipak ćete morati koristiti kopiranje i lijepljenje samih kodova.
I povrh svega, možete automatski prenijeti module pomoću VBA kodova: Kako programski dodati kod procedure, kopirati modul

Je li članak pomogao? Podijelite link sa svojim prijateljima! Video lekcije

("Donja traka":("textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"lijevo","texteffectslidedistance" :30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"desno","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1":600 ,"texteffectdelay1":1000,"texteffect2":"slide","texteffectslidedirection2":"desno","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffectdelay2":1500," textcss":"text-align:left;","textbgcss":"display:absolute:0px; pozadinska boja:0,6; ","titlecss":"display:block; položaj: relativno; font:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; boja:#fff;","descriptioncss":"display:block; položaj: relativno; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; boja:#fff; margin-top:8px;","buttoncss":"display:block; položaj: relativno; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))