Cuprins
În bazele de date mari, v-ați petrecut cea mai mare parte a timpului ocupându-vă de intervale și celule. Uneori trebuie să repetați aceeași acțiune în intervale mari sau într-un număr mare de celule. Acest lucru vă răpește în același timp timpul și vă reduce eficiența. Soluția inteligentă la această problemă este să construiți un Codul de programare VBA care va trece prin fiecare celulă din interval și va efectua aceeași acțiune dirijată de dvs. Astăzi, în acest articol, vom discuta despre cum să facem VBA pentru fiecare celulă din interval în Excel.
Descărcați caietul de practică
Descărcați această carte de practică pentru a vă exersa sarcina în timp ce citiți acest articol.
Cod VBA pentru fiecare celulă dintr-o gamă în Excel.xlsx3 moduri adecvate de a aplica VBA pentru fiecare celulă din interval în Excel
Cu ajutorul unui cod VBA puteți efectua aceeași formulă pentru fiecare celulă dintr-un interval, o coloană sau un rând. În această secțiune, vom trece în revistă toate secțiunile.
1. Aplicați VBA pentru fiecare celulă din interval
Luați în considerare o situație în care trebuie să aplicați același cod VBA pentru fiecare celulă dintr-un anumit interval ( B3:F12 ). pentru a face acest lucru vom construi un cod VBA. instrucțiunile sunt prezentate mai jos
Pasul 1:
- În primul rând, vom insera un buton de comandă pentru a ne simplifica munca. Accesați pagina dvs. Fila Dezvoltator , selectați Introduceți , și faceți clic pe butonul de comandă pentru a obține una.
- Avem butonul nostru de comandă.
- Faceți clic dreapta pe butonul de comandă pentru a deschide opțiunile. Selectați și faceți clic pe Proprietăți pentru a modifica unele opțiuni.
- Schimbați denumirea butonului de comandă. Aici schimbăm numele în " Faceți clic aici ".
Pasul 2:
- Acum faceți dublu clic pe butonul de comandă pentru a deschide fereastra VBA Modul Aici vom scrie codul nostru VBA pentru această sarcină.
- În primul rând, vom declara două variabile. Vom numi obiectele de interval CL și Rng Puteți să le numiți cum doriți.
Dim CL ca interval Dim Rng ca interval
- Atribuiți un interval specific prin această comandă,
Set Rng = Foi de lucru("VBA1").Range("B3:F12")
- Aici VBA1 este numele foii noastre de lucru și B3:F12 este intervalul definit de noi.
- Acum vom folosi codul pentru a executa prin fiecare celulă din interval. Codul este,
Pentru fiecare CL din Rng CL.Value = 100 Următorul CL
- Valoare = 100 se referă la faptul că se va întoarce 100 pentru fiecare celulă din intervalul dat.
- Deci, codul nostru final devine,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- Mergeți la foaia de lucru principală și faceți clic pe butonul de comandă pentru a rula VBA pentru fiecare celulă din interval.
Pasul 3:
- Ca și în cazul valorilor numerice, putem pune și valori text pentru fiecare celulă din interval. În acest caz, mergeți la fereastra VBA și, în loc de 100, introduceți valoarea textului pe care doriți să o parcurgeți. Linia modificată este
CL.Value = "ExcelWIKI"
- Faceți clic pe butonul de comandă, iar codul VBA va returna această valoare de text pentru fiecare celulă din interval.
Pasul 4:
- În acest pas, vom aprofunda puțin mai mult. Să spunem că dorim să evidențiem fiecare celulă goală din intervalul nostru.
- Pentru aceasta, adăugați o nouă condiție la codul existent. Noua formulă este,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Acest nou cod va evidenția celula goală cu culoarea roșie. Deci, codul complet este,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- Obțineți rezultatul făcând clic pe butonul de comandă.
Lecturi similare:
- Cum se utilizează obiectul Range din VBA în Excel (5 proprietăți)
- Utilizați decalajul intervalului VBA (11 moduri)
- Cum se numără textul în Excel (7 trucuri simple)
2. Introduceți codul VBA pentru fiecare celulă dintr-o coloană a unui interval
De asemenea, putem rula codul VBA pentru fiecare celulă dintr-o coloană. Să presupunem că avem o coloană care conține numere și trebuie să colorăm valorile care sunt mai mici decât 10. Vom construi un cod VBA pentru a rula fiecare celulă din coloană.
Pasul 1:
- Creați un buton de comandă urmând instrucțiunile pe care le-am discutat.
Pasul 2:
- Faceți dublu clic pe butonul de comandă pentru a deschide fereastra VBA.
- Vom declara o variabilă numită " c " de tip long. Utilizăm aici variabila de tip Long deoarece variabilele Long au o capacitate mai mare decât variabilele Integer.
Dim c ca Long
- Apoi, adăugați linia de cod care schimbă culoarea fontului tuturor celulelor din coloana noastră în negru.
Columns(1).Font.Color = vbBlack
- Introduceți bucla pentru acest cod.
For c = 1 To Rows.Count Next c
- În acest pas, vom introduce o condiție pentru a colora valorile care sunt mai mici decât valoarea din celula C4 (10). Introduceți acest cod pentru a face acest lucru.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- Deci, codul final este,
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- VBA va rula și va afișa rezultatele atunci când faceți clic pe butonul de comandă.
3. Scrieți un cod VBA pentru fiecare celulă dintr-un rând al unui interval
De asemenea, putem executa un cod VBA pentru fiecare celulă dintr-un rând. În rândul dat, trebuie să efectuăm aceeași acțiune pe fiecare celulă a rândului.
Pasul 1:
- Adăugați un buton de comandă și schimbați-i numele în " Click aici! "
- Faceți dublu clic pe buton pentru a deschide fereastra VBA. Scrieți codul VBA furnizat mai jos.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Pentru fiecare celulă dintr-un rând, și aplicați o culoare galbenă de umplere For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Codul va parcurge fiecare celulă a rândului și va aplica o culoare galbenă de umplere pentru fiecare celulă.
- Faceți clic pe buton și rezultatul nostru este aici.
Note rapide
👉 Dacă nu aveți vizibilă fila de dezvoltator, o puteți activa folosind această instrucțiune.
Bara de instrumente de acces rapid personalizată → Mai multe comenzi → Personalizare panglică → Dezvoltator → OK
Concluzie
Am trecut prin trei abordări diferite pentru a rula VBA pentru fiecare celulă dintr-un interval. Sunteți bineveniți să comentați dacă aveți întrebări sau nelămuriri. Puteți, de asemenea, să consultați celelalte articole ale noastre legate de sarcinile Excel!