Astăzi vom afla cum să verificăm cu ușurință dacă una sau mai multe celule sunt goale folosind Visual Basic pentru aplicații. Conținutul este relevant pentru Excel 2019 / 365, 2016 și versiunile anterioare ale Microsoft Office.
Lucru de pregătire
Înainte de a începe codarea cu VBA în Excel, va trebui să vă asigurați că fila de dezvoltare este activată. Dacă nu este cazul, vă rugăm să consultați acest scurt tutorial .
Verificarea dacă intervalul de celule Excel este gol cu VBA
- În Excel, deschideți mediul Visual Basic apăsând Alt+F11
- Introduceți următorul cod ca procedură în foaia de lucru sau, alternativ, într-un modul VBA dedicat.
Sub Check_Cell_is_empty_alt()
Dim rng As Range
Set rng = Selection
For Each Cell In rng
If IsEmpty(Cell.Value) = True Then
Debug.Print ("Empty")
Else
Debug.Print ("Not Empty")
End If
Next Cell
End Sub
- Accesați foaia de calcul și selectați un interval arbitrar de celule.
- Reveniți la editorul Visual Basic și asigurați-vă că vizualizatorul Imediat (CTRL+G) este vizibil – deoarece metoda Debug.Print din cod își va afișa rezultatul în acea fereastră.
- Apăsați F5 pentru a rula codul.
- Priviți rezultatele în fereastra imediată.

- Toate celulele goale vor fi identificate.
Posibile extensii ale codului: puteți, evident, extinde acest cod după cum este necesar, în cazul în care sunteți interesat să săriți peste valorile goale sau pur și simplu nu faceți nimic în cazul în care celulele nu sunt pline. În mod similar, puteți verifica dacă Intervalul în sine este gol, adică – nu sunt conținute celule negre.
Verificarea câmpurilor care nu sunt goale
În același mod, puteți utiliza proprietatea IsEmpty pentru a verifica câmpurile care nu sunt goale.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bonus: Folosiți următorul cod dacă doriți să evidențiați și celulele goale.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A10") Pentru fiecare myCell din myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Există total " & i & " celulă(e) goală(e) din " & tabără; "."