Ik heb in VBA een macro geschreven om in tabel datum_regels de data voor bepaalde maand+jaar te verwijderen met Clearcontents:
Sub verwijder_datum()
Dim cl As Range, j As Integer, m As Integer
j = InputBox("welk jaar (4 cijfers) ?")
m = InputBox("Welke maand (1-12) ?")
With Sheets("datum_regels")
Set myrange = .Range("D1:H7")
For Each cl In myrange
If Year(cl.Value) = j And Month(cl.Value) = m Then
cl.ClearContents
End If
Next cl
End With
End Sub
Het resultaat is te zien in de bijlage. Nu wil ik deze zodanig uitbreiden dat de lege cellen (rood gearceerd) verwijdert worden en de overige cellen naar links worden verplaatst.
Het veranderen van cl.clearcontents in cl.delete werkt niet, want dan wordt de hele kolom verwijdert.
Sub verwijder_datum()
Dim cl As Range, j As Integer, m As Integer
j = InputBox("welk jaar (4 cijfers) ?")
m = InputBox("Welke maand (1-12) ?")
With Sheets("datum_regels")
Set myrange = .Range("D1:H7")
For Each cl In myrange
If Year(cl.Value) = j And Month(cl.Value) = m Then
cl.ClearContents
End If
Next cl
End With
End Sub
Het resultaat is te zien in de bijlage. Nu wil ik deze zodanig uitbreiden dat de lege cellen (rood gearceerd) verwijdert worden en de overige cellen naar links worden verplaatst.
Het veranderen van cl.clearcontents in cl.delete werkt niet, want dan wordt de hele kolom verwijdert.