Acest tutorial vă va învăța cum să interacționați cu valorile celulei utilizând VBA.
Setați valoarea celulei
Pentru a seta o valoare de celulă, utilizați proprietatea Value a obiectului Range sau Cells.
Range.Value & Cells.Value
Există două moduri de a face referință la celulă (celule) în VBA:
- Obiectul Range - Gama („A2”). Valoare
- Obiectul celulelor - Celule (2,1). Valoare
Obiectul Range vă permite să faceți referire la o celulă utilizând notația standard „A1”.
Aceasta va seta valoarea intervalului A2 = 1:
1 | Interval („A2”). Valoare = 1 |
Obiectul Celule vă permite să faceți referire la o celulă după numărul rândului și numărul coloanei.
Aceasta va seta valoarea intervalului A2 = 1:
1 | Celule (2,1). Valoare = 1 |
Observați că introduceți mai întâi numărul rândului:
1 | Celule (Row_num, Col_num) |
Setați valorile mai multor celule simultan
În loc să faceți referire la o singură celulă, puteți face referință la o gamă de celule și puteți modifica toate valorile celulei simultan:
1 | Interval („A2: A5”). Valoare = 1 |
Setați valoarea celulei - Text
În exemplele de mai sus, setăm valoarea celulei egală cu un număr (1). În schimb, puteți seta valoarea celulei egală cu un șir de text. În VBA, tot textul trebuie să fie înconjurat de citate:
1 | Interval ("A2"). Valoare = "Text" |
Dacă nu înconjurați textul cu citate, VBA va crede că faceți referire la o variabilă …
Setați valoarea celulei - Variabilă
De asemenea, puteți seta o valoare a celulei egală cu o variabilă
1234 | Dim strText ca ȘirstrText = "Șir de text"Gama ("A2"). Valoare = strText |
Obțineți valoarea celulei
Puteți obține valori ale celulei utilizând aceeași proprietate Value pe care am folosit-o mai sus.
Obțineți valoarea ActiveCell
Pentru a obține valoarea ActiveCell și a o afișa într-o casetă de mesaje:
1 | MsgBox ActiveCell.Value |
Atribuiți valoarea celulei variabilei
Pentru a obține o valoare de celulă și a o atribui unei variabile:
123 | Dim var ca Variantăvar = Interval ("A1"). Valoare |
Aici am folosit o variabilă de tip Variant. Variabilele variabile pot accepta orice tip de valori. În schimb, puteți utiliza un tip de variabilă String:
123 | Dim var ca Șirvar = Interval ("A1"). Valoare |
Un tip de variabilă Șir va accepta valori numerice, dar va stoca numerele ca text.
Dacă știți că valoarea celulei dvs. va fi numerică, puteți utiliza un tip de variabilă dublă (variabilele duble pot stoca valori zecimale):
123 | Dim var ca Dubluvar = Interval ("A1"). Valoare |
Cu toate acestea, dacă încercați să stocați o valoare a celulei care conține text într-o variabilă dublă, veți primi o eroare de nepotrivire de tip:
Alte exemple de valori ale celulei
Copiați valoarea celulei
Este ușor să setați o valoare a celulei egală cu o altă valoare a celulei (sau „Copiați” o valoare a celulei):
1 | Interval ("A1"). Valoare = Interval ("B1"). Valoare |
Puteți face acest lucru chiar și cu intervale de celule (intervalele trebuie să aibă aceeași dimensiune):
1 | Interval ("A1: A5"). Valoare = Interval ("B1: B5"). Valoare |
Comparați valorile celulei
Puteți compara valorile celulei utilizând operatorii de comparație standard.
Testați dacă valorile celulei sunt egale:
1 | MsgBox Range ("A1"). Value = Range ("B1"). Value |
Va returna TRUE dacă valorile celulei sunt egale. Altfel FALS.
De asemenea, puteți crea o declarație If pentru a compara valorile celulei:
12345678910111213 | Dacă Range ("A1"). Valoare> Range ("B1"). Value AtunciInterval ("C1"). Valoare = "Mai mare decât"Elseif Range ("A1"). Valoare = Range ("B1"). Value ApoiInterval ("C1"). Valoare = "Egal"AltfelInterval ("C1"). Valoare = "Mai puțin decât"End If |
Puteți compara textul în același mod (amintiți-vă că VBA este diferențiat între majuscule și minuscule)