• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Een cel leeg maken als een andere wordt ingevuld

Status
Niet open voor verdere reacties.

Patsy1604

Gebruiker
Lid geworden
22 mei 2012
Berichten
92
Een goede middag,
Ik heb een kleine excel file voor het beheer van ons budget. De gebruiker zal in de kolom "In Planning" het bedrag invullen dat hij nodig acht voor een behoefte. Het bureau aankopen zal dit bedrag overmaken in de kolom "In Bestelling", de kolom "In Planning" moet nu leeg worden. Bij ontvangst van de factuur wordt het officiële bedrag in "Vereffend" overgemaakt en moeten dus de kolommen "In Planning" en "In Bestelling" leeg zijn. Dit dient om een overzicht te krijgen planning, bestelling en betaald in een andere sheet. En op het einde van het jaar zou enkel kolom Vereffend nog ingevuld Mogen zijn.



Het lukt mij niet met IF of IS.

mvg, patsy
 
Een cel kan niet en een waarde en een formule bevatten. Dus zal je het via VBA moeten oplossen. Bv zo

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A2:C10")) Is Nothing Then
    Select Case Target.Column
        Case 1: Target.Offset(, 1).Resize(, 2).ClearContents
        Case 2: Target.Offset(, -1).ClearContents
        Case 3: Target.Offset(, -2).Resize(, 2).ClearContents
    End Select
End If
Application.EnableEvents = True
End Sub
 
Of:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A2:C10")) Is Nothing Then
    Select Case Target.Column
        Case 1
          Target.Offset(, 1).Resize(, 2).ClearContents
        Case 2, 3
          Target.Offset(, -Target.Column + 1).Resize(, Target.Column - 1).ClearContents
    End Select
End If
Application.EnableEvents = True
End Sub
 
In Bijl een voorbeeld

Bekijk bijlage TEST.xlsx

Ik weet natuurlijk dat ik dei kolommen handmatig kan leegmaken, maar ik weet ook dat Excel kan toveren.

Mijn VBA is niet echt gekend.

met vriendelijke groeten, Patsy
 
Dit kan niet anders dan met VBA.
In de werkbladmodule 'Behoefteuitdrukkingen':
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Br
    
    If Intersect(Target, Union(Columns(3), Columns(5), Columns(7))) Is Nothing Or Target = "" Then Exit Sub
    Application.EnableEvents = False
    For Each Br In Filter(Array(3, 5, 7), Target.Column, False)
        Cells(Target.Row, Val(Br)).ClearContents
    Next
    Application.EnableEvents = True
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan