Valoarea celulei VBA - Obțineți, setați sau modificați

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)

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave