Ovaj vodič će vas naučiti kako komunicirati s vrijednostima ćelija pomoću VBA.
Postavite vrijednost ćelije
Da biste postavili vrijednost ćelije, upotrijebite svojstvo vrijednost objekta Raspon ili ćelije.
Raspon.Vrijednost i ćelije.Vrijednost
Postoje dva načina upućivanja na ćelije u VBA:
- Objekt dometa - Raspon ("A2"). Vrijednost
- Objekt ćelija - Stanice (2,1) .Vrijednost
Objekt Range omogućuje vam referenciranje ćelije pomoću standardnog zapisa “A1”.
Ovo će postaviti vrijednost raspona A2 = 1:
1 | Raspon ("A2"). Vrijednost = 1 |
Objekt Ćelije omogućuje vam upućivanje na ćeliju prema broju retka i broju stupca.
Ovo će postaviti vrijednost raspona A2 = 1:
1 | Stanice (2,1). Vrijednost = 1 |
Primijetite da prvo unosite broj retka:
1 | Ćelije (redni broj, broj_broja) |
Odjednom postavite vrijednosti više ćelija
Umjesto upućivanja na jednu ćeliju, možete referencirati raspon ćelija i promijeniti sve vrijednosti ćelija odjednom:
1 | Raspon ("A2: A5"). Vrijednost = 1 |
Postavi vrijednost ćelije - tekst
U gornjim primjerima vrijednost ćelije postavljamo jednakom broju (1). Umjesto toga, možete postaviti vrijednost ćelije jednaku nizu teksta. U VBA -i sav tekst mora biti okružen navodnicima:
1 | Raspon ("A2"). Vrijednost = "Tekst" |
Ako tekst ne okružujete navodnicima, VBA će pomisliti da upućujete na varijablu …
Postavi vrijednost ćelije - promjenjivo
Također možete postaviti vrijednost ćelije jednaku varijabli
1234 | Zatamni strText kao StringstrText = "Niz teksta"Raspon ("A2"). Vrijednost = strText |
Dobijte vrijednost ćelije
Vrijednosti ćelija možete dobiti pomoću istog svojstva Value koje smo koristili gore.
Dobijte vrijednost ActiveCell
Da biste dobili vrijednost ActiveCell i prikazali je u okviru za poruku:
1 | MsgBox ActiveCell.Vrijednost |
Dodijeli vrijednost ćelije varijabli
Da biste dobili vrijednost ćelije i dodijelili je varijabli:
123 | Dim var kao Variantvar = Raspon ("A1"). Vrijednost |
Ovdje smo koristili varijablu tipa Variant. Varijable varijante mogu prihvatiti bilo koju vrstu vrijednosti. Umjesto toga, možete koristiti vrstu varijable String:
123 | Dim var kao Stringvar = Raspon ("A1"). Vrijednost |
Vrsta varijable String prihvatit će numeričke vrijednosti, ali će pohraniti brojeve kao tekst.
Ako znate da će vrijednost vaše ćelije biti brojčana, možete upotrijebiti vrstu dvostruke varijable (dvostruke varijable mogu pohraniti decimalne vrijednosti):
123 | Dim var kao Doublevar = Raspon ("A1"). Vrijednost |
Međutim, ako pokušate pohraniti vrijednost ćelije koja sadrži tekst u dvostruku varijablu, dobit ćete pogrešku neusklađenosti tipa:
Drugi primjeri vrijednosti ćelija
Kopiraj vrijednost ćelije
Lako je postaviti vrijednost ćelije jednaku drugoj vrijednosti ćelije (ili "Kopirati" vrijednost ćelije):
1 | Raspon ("A1"). Vrijednost = Raspon ("B1"). Vrijednost |
To čak možete učiniti i s rasponima ćelija (rasponi moraju biti iste veličine):
1 | Raspon ("A1: A5"). Vrijednost = Raspon ("B1: B5"). Vrijednost |
Usporedite vrijednosti stanica
Vrijednosti ćelija možete usporediti pomoću standardnih operatora usporedbe.
Testirajte jesu li vrijednosti ćelija jednake:
1 | MsgBox Raspon ("A1"). Vrijednost = Raspon ("B1"). Vrijednost |
Vraća TRUE ako su vrijednosti ćelija jednake. Inače NETAČNO.
Također možete stvoriti If izjavu za usporedbu vrijednosti ćelija:
12345678910111213 | Ako raspon ("A1"). Vrijednost> Raspon ("B1"). Vrijednost ZatimRaspon ("C1"). Vrijednost = "Veći od"Elseif raspon ("A1"). Vrijednost = raspon ("B1"). Vrijednost ZatimRaspon ("C1"). Vrijednost = "Jednako"DrugoRaspon ("C1"). Vrijednost = "Manje od"Završi ako |
Možete usporediti tekst na isti način (zapamtite da VBA razlikuje velika i mala slova)