Celen deleten bij een bepaalde waarde

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Hallo Helpmijers,

Ik ben met een rooster (Excel) bezig die zichzelf automatisch vult om vervolgens te muteren. Het bereik van het rooster is van A4 t/m V19. Nu komt het voor dat een medewerker ziek is, dan plaats ik een "Z" direct naast de tijden dat de medewerker zou hebben gewerkt.

Voorbeeld
In kolom B4 plaats ik een "Z" in kolom C4 staat 09.00 uur en kolom D4 staat 17.00 uur. Nu is het de bedoeling dat de tijden worden gedeleted zodra ik de Z heb geplaatst.

Omdat het overal in het rooster kan voorkomen dat een medewerker ziek is, is het de bedoeling dat na het plaatsen van een Z altijd de inhoud van de eerste 2 cellen rechts van de Z worden verwijderd, echter dient het bereik van A4 t/m V19 in acht te worden genomen.

Een antwoord zie ik met belangstelling tegemoet.

Groeten,
Robert
 
kan je niet in de cellen die moeten verwijderd worden iets zetten als " =als(B4="z";""; ) " ... tis maar eens een ideetje...
 
Dit kan met VBA. Ik zal zo even voorbeeldje uploaden
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    'we are only interested in A4-V19 'Range("A4:V19")
    If Not (Intersect(Target, Range("A4:V19")) Is Nothing) Then
        'if there are multiple cells selected we need to process them all
        Dim c As Range
        For Each c In Target.Cells
            'see if the user entered a 'z'
            If UCase(c.Value) = "Z" Then
                'clear the two cells next to the target
                Dim rToClear As Range
                Set rToClear = Range(c.Offset(0, 1), c.Offset(0, 2))
                rToClear.Clear
            End If
        Next
    End If
End Sub
 

Bijlagen

  • 772266.xlsm
    14,8 KB · Weergaven: 18
Laatst bewerkt:
De code werkt perfect, super bedankt hiervoor. Ik heb echter nog wel een klein verzoek en dacht dat ik dat zelf eenvoudig kon toevoegen. Ik wil nl. dat wanneer ik óók een "F" plaats de code exact hetzelfde doet. M.a.w. wanneer ik een Z en/of F plaats de code in werking gesteld wordt.

Alvast bedankt
 
Dan dit aanpassen:
Code:
If UCase(c.Value) = "Z" or UCase(c.Value) = "F"  Then
 
Ik zie net dat de code ook de celeigenschappen verwijderd, dat is niet de bedoeling. Ik hoop dat deze in takt kan blijven.
 
Dat komt door de rToClear.Clear, dus maak je daarvan rtoClear.Value = ""
 
zo snel heb ik nog nooit een antwoord gehad...helemaal top en nogmaals enorm bedankt. Alleen de celeigenschappen nog
 
Als je de laatste wijziging pakt dan veranderen de celeigenschappen niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan