Cuprins
În acest articol, vă voi arăta cum puteți seta o variabilă la valoarea unei celule folosind VBA în Excel. Veți învăța să setați o variabilă la valoarea unei singure celule și a unui interval de celule.
Descărcați caietul de practică
Descărcați acest caiet de exerciții pentru a vă exercita în timp ce citiți acest articol.
Setați variabila la Cell.xlsm3 Exemple rapide pentru a seta variabila la o valoare de celulă în Excel
Aici avem un set de date care conține datele numele unor clienți , lor numere de contact , și adrese de e-mail în gamă B3:D13 a unei foi de lucru.
Scopul nostru este de a seta variabilele la valorile celulelor din acest set de date folosind VBA .
1. Setați variabila la o singură valoare de celulă folosind Excel VBA
În primul rând, vom învăța să setăm o variabilă la valoarea unei singure celule folosind VBA .
De exemplu, să setați valoarea celulei B4 la o variabilă numită Nume_client .
Este mai bine să cunoașteți tipul de date al valorii și să o declarați înainte, apoi să setați valoarea în acea variabilă.
De exemplu, aici celula B4 conține numele, Boris Pasternak . Este un tip șir de caractere Prin urmare, puteți utiliza următoarea variabilă 2 linii de coduri:
Dim Value As String Value = Range("B4")
Dar este în regulă dacă nu sunteți sigur de tipul de date. În acest caz, scrieți doar al doilea rând, iar VBA va citi valoarea corect pentru dumneavoastră.
Value = Range("B4")
Acum, pentru a verifica dacă VBA a citit valoarea corect sau nu, introduceți linia MsgBox Valoare cu oricare dintre cele două seturi de coduri și apoi executați codul.
Va apărea o casetă de mesaje care vă va arăta valoarea celulei B4 , Boris Pasternak .
2. Setați valorile unui interval adiacent de celule într-o variabilă folosind Excel VBA
Acum, vom seta valorile unui interval adiacent de celule într-o variabilă. De exemplu, să citim intervalul B3:D13 în variabila Rng .
Aici, tipul de date al variabilei va fi un Gama Puteți fie să o declarați înainte, astfel:
Dim Rng As Range Set Rng = Range("B3:D13")
Sau puteți atribui direct valorile cu ajutorul acestuia.
Set Rng = Range("B3:D13")
Acum, pentru a accesa valorile din Obiect de gamă , trebuie să le accesați cu numerele de rând și de coloană cu ajutorul unui Obiectul Celule .
De exemplu, pentru a accesa celula B4 , trebuie să folosiți Rng.Cells(2,1) [ Celula B4 se află în 2. rând și 1. coloana din intervalul B3:D13 .]
Introduceți linia MsgBox Rng.Cells(2,1) în interiorul codului tău și rulează-l. Se va afișa Boris Pasternak , valoarea din celula B4 .
3. Setați valorile unui interval de celule neadiacente într-o variabilă folosind Excel VBA
În cele din urmă, vom seta valorile unui interval de celule neadiacente într-o variabilă.
De exemplu, să încercăm să citim intervalul B3:B13 și D3:D13 într-o variabilă numită Rng .
Este din nou un tip de date de Gama Puteți să o declarați în prealabil sau nu.
Vom folosi Metoda Uniunii de VBA să se alăture 2 sau mai multe intervale de celule neadiacente într-un singur interval.
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13")))
Acum, pentru a accesa celula B4 , trebuie să introduceți din nou linia MsgBox Rng.Cells(1,1). Apoi, dacă rulăm codul, va afișa conținutul din celula B4 , Boris Pasternak .
Lucruri de reținut
Toate metodele descrise mai sus funcționează numai pentru foaia de lucru activă. Dacă doriți să accesați o foaie de lucru care nu este activă, trebuie să menționați numele foii de lucru înainte de interval.
De exemplu, pentru a accesa intervalul B4 de Foaie1 , trebuie să folosiți:
Value = Worksheets("Sheet1").Range("B4")