Idag ska vi lära oss hur du enkelt kontrollerar om en eller flera celler är tomma med Visual Basic for Applications. Innehållet är relevant för Excel 2019 / 365, 2016 och tidigare versioner av Microsoft Office.
Förberedande arbete
Innan du börjar koda med VBA i Excel måste du se till att din utvecklingsflik är aktiverad. Om så inte är fallet, vänligen titta på denna korta handledning .
Kontrollera om Excel-cellintervallet är tomt med VBA
- Öppna din Visual Basic-miljö i Excel genom att trycka på Alt+F11
- Infoga följande kod som en procedur i ditt arbetsblad, eller alternativt i en dedikerad VBA-modul.
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
- Gå till ditt kalkylblad och välj ett godtyckligt cellområde.
- Gå tillbaka till Visual Basic-redigeraren och se till att Immediate viewer (CTRL+G) är synlig – eftersom Debug.Print-metoden i koden kommer att mata ut resultatet till det fönstret.
- Tryck på F5 för att köra din kod.
- Titta på resultaten i det omedelbara fönstret.

- Alla tomma celler kommer att identifieras.
Möjliga tillägg till koden: Du kan självklart utöka den här koden om du är intresserad av att hoppa över tomma värden eller bara göra ingenting om cellerna inte är fulla. På samma sätt kan du kontrollera om själva området är tomt, dvs. inga svarta celler finns.
Kontrollerar icke tomma fält
På samma sätt kan du använda egenskapen IsEmpty för att söka efter fält som inte är tomma.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bonus: Använd följande kod om du också vill markera tomma celler.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A10") För varje myCell In myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Det finns totalt " & jag & " tomma cell(er) från " & läger; "."