Cellen automatisch leeg maken

Status
Niet open voor verdere reacties.

Johma

Nieuwe gebruiker
Lid geworden
13 okt 2022
Berichten
3
Hoi,

ik heb een uitdaging waar ik zelf niet verder mee kom, ik heb een Excel bestand waar telkens de getallen regelmatig 1 cel moeten opschuiven (een soort planning)
nu heb ik de volgende VBA-code:

SQL Code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Worksheet_Change(ByVal Target AS Range)
IF NOT Intersect(Target, Range("F7")) IS Nothing Then
Range("E7").ClearContents
End IF
IF NOT Intersect(Target, Range("G7")) IS Nothing Then
Range("F7").ClearContents
End IF
IF NOT Intersect(Target, Range("H7")) IS Nothing Then
Range("G7").ClearContents
End IF

End Sub



maar deze werkt alleen voor 1 rij (in dit geval rij 7), ik had graag dit ook werkt voor bijvoorbeeld rij 7 t/m 34, rij 37 t/m 45 enz.
Hoe kan ik de range dan aanpassen? of moet ik voor alle rijen deze code per rij toevoegen?

Alvast bedankt

mvg. John
 
Met die code schuif je niks op, je maakt alleen cellen leeg.
Laat in een voorbeeld document zien wat precies je bedoeling is.
 
Het is ook de bedoeling dat de cel ervoor leeg gemaakt word, bijgaande een voorbeeld bestand.
de vba code werkt nu alleen in rij 3.
In de "blauwe" rijen moet dit dan niet gebeuren, hier worden de totalen berekend.
 

Bijlagen

  • Voorbeeld.xlsm
    16,9 KB · Weergaven: 27
Zo:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column >= 6 And Target.Column <= 8 Then
        'niet voor blauwe rijen
        If Cells(Target.Row, 1).Interior.Color <> 7884319 Then
            Target.Offset(0, -1).ClearContents
        End If
    End If
End Sub
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F:H")) Is Nothing And Target = 1 And Target.HasFormula = False Then Target.Offset(-1).ClearContents
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan