Vba: lege cellen vullen met een waarde erboven
Vaak wilt u misschien VBA gebruiken om lege cellen in een Excel-werkblad te vullen met de waarden van de cellen er direct boven.
Om dit te doen, kunt u de volgende basissyntaxis gebruiken:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Dit specifieke voorbeeld vult alle lege cellen, van cel A2 via kolom B tot de laatste rij met een waarde in kolom C.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Gebruik VBA om lege cellen te vullen met de bovenstaande waarde
Stel dat we de volgende gegevensset in Excel hebben, waarin de punten worden weergegeven die in verschillende wedstrijden door verschillende basketbalspelers zijn gescoord:
Stel dat we de lege cellen in de kolommen A en B willen vullen met de waarden van de cellen erboven.
We kunnen hiervoor de volgende macro maken:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat alle lege cellen in de kolommen Team en Speler zijn gevuld met de juiste waarde uit de cellen erboven.
Opmerking : we hebben xlBlanks gebruikt om lege cellen in het bereik te identificeren en vervolgens =R[-1]C gebruikt om de lege cellen te vullen met de waarde van de cel één rij erboven.
Het eindresultaat is dat we alle lege cellen konden vullen met de waarde van de cellen erboven.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: controleren of cel leeg is
VBA: Hoe „Als niet leeg“ te gebruiken
VBA: cellen tellen met specifieke tekst