Tänään opimme kuinka helposti tarkistaa, onko yksi vai useampi solu tyhjä Visual Basic for Applications -sovelluksella. Sisältö koskee Excel 2019 / 365, 2016 ja Microsoft Officen aiempia versioita.
Valmistelutyöt
Ennen kuin aloitat koodauksen VBA:lla Excelissä, sinun on varmistettava, että kehitysvälilehti on käytössä. Jos näin ei ole, tutustu tähän lyhyeen opetusohjelmaan .
VBA:lla tarkistetaan, onko Excelin solualue tyhjä
- Avaa Visual Basic -ympäristö Excelissä painamalla Alt+F11
- Lisää seuraava koodi toimenpiteenä laskentataulukkoon tai vaihtoehtoisesti erityiseen VBA-moduuliin.
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
- Siirry laskentataulukkoon ja valitse mielivaltainen solualue.
- Palaa Visual Basic -editoriin ja varmista, että välitön katseluohjelma (CTRL+G) on näkyvissä – koska koodin Debug.Print-menetelmä tulostaa tuloksensa kyseiseen ikkunaan.
- Suorita koodi painamalla F5.
- Katso tulokset välittömästä ikkunasta.

- Kaikki tyhjät solut tunnistetaan.
Mahdolliset koodin laajennukset: Voit tietysti laajentaa tätä koodia tarpeen mukaan, jos haluat ohittaa tyhjiä arvoja tai olla tekemättä mitään, jos solut eivät ole täynnä. Vastaavasti voit tarkistaa, onko itse alue tyhjä, eli – ei sisällä mustia soluja.
Tarkistetaan ei-tyhjiä kenttiä
Samalla tavalla voit käyttää IsEmpty-ominaisuutta tarkistaaksesi kentät, jotka eivät ole tyhjiä.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bonus: Käytä seuraavaa koodia, jos haluat korostaa myös tyhjät solut.
Himmeä i yhtä pitkä Himmeä c yhtä pitkä himmennys myRange As Range Dim myCell as Range Aseta myRange = Range("A1:A10") jokaiselle omalle solulle omalla alueella ' c = c + 1 If IsEmpty(myCell) then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell ViestiBox _ "On yhteensä " & minä & " tyhjä(t) solu(t) " & c & "."