• 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.

Planning

Status
Niet open voor verdere reacties.

gerrit123456789

Gebruiker
Lid geworden
15 dec 2013
Berichten
272
Goedemorgen,

Ik zit met een vraag en wel deze:

Is het mogelijk om het voor elkaar te krijgen als ik in het bovenste gedeelte van het werkblad, bijv. bij D1 Bekijk bijlage Planning.xlsxeen F of Z, etc. invul, dat dan bij de juiste datum de naam uit de personeelsplanning verdwijnt en dat dan de ontstane lege cel een andere kleur krijgt.

Het bestand heb ik bijgevoegd.

Ik hoop dat het mogelijk is en dat iemand mij verder kan helpen.

Bij voorbaat dank,

Gerrit



Bekijk bijlage Planning.xlsx
 
Goedemorgen Gerrit,

Volgens mij doet dit wat je wilt, maar dat werkt alleen als de cellen met namen in bereik C17:AH51 niet samengevoegd zijn. VBA en samengevoegde cellen werkt voor geen meter.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value = "F" Or Target.Value = "Z" Then
        With Range("C17:AH51").Find(Cells(7, Target.Column).Value).Offset(1, 0).Resize(10, 1).Find(Cells(Target.Row, 2).Value)
            .ClearContents
            .Interior.Color = vbRed
        End With
    End If
End Sub
 
Ja, de cellen zijn samengevoegd. Dus dan zal het dus niet werken.
Dan zal ik dus een andere lay-out moeten maken met dus enkele cellen.
Daar zal ik dus eer mee aan de slag moeten.
Voor nu alvast bedankt.
Mocht ik later nog vragen hebben, dan meld ik mij wel weer.

Groet,

Gerrit
 
Gerrit, ik heb het ietsje aangepast, maar ook zonder de aanpassing werkte het aardig. Je moet de bewuste code niet in een module plaatsen ,maar achter het werkblad in kwestie.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row < 16 And Target.Value = "F" Or Target.Value = "Z" Then
        
        With Range("C17:N51").Find(Cells(7, Target.Column).Value).Offset(1, 0).Resize(10, 1).Find(Cells(Target.Row, 2).Value)
            .ClearContents
            .Interior.Color = vbRed
        End With
    End If
End Sub
 
Voorkom foutmeldingen:
Code:
With Range("C17:N51").Find(Cells(7, Target.Column).Value[COLOR=#0000ff], , xlvalues, xlwhole[/COLOR]).Offset(1, 0).Resize(10, 1).Find(Cells(Target.Row, 2).Value)
Nog beter is controleren met een variabele en 'is nothing'.
 
Je plakt het in de vba-editor in blad1 ipv in een module.

@ Harry, volledig eens.
 
Klik met rechts onder op het tabblad en kies voor code weergeven.
Plak het dan daar.
 
Het is me gelukt, maar als ik een F of Z weer verwijder, veranderd er bij die bewuste datum de planning onder niet en blijft het rode vakje staan.
Dat is niet de bedoeling, deze moet weer de naam gaan weergeven.
Hoe krijg ik dat voor elkaar?

Groet,

Gerrit
 
Ik denk dat ik misschien iets vraag wat niet mogelijk is.

Of is het toch mogelijk?

Groet,

Gerrit
 
Hoe duidelijker de uitleg hoe meer er mogelijk is. Hoe moet Excel weten wat waar gestaan heeft? Is het alleen als je per abuis een F of Z geplaatst hebt en wil je dit dan direct ongedaan maken? Hoeft het origineel alleen onthouden te worden als het bestand geopend is of wil je als je morgen het bestand opnieuw opent dat het nog steeds hersteld kan worden? Is iedereen altijd ingedeeld voor dezelfde dienst?
 
Ik wil het direct ongedaan kunnen maken. Als ik het bestand opnieuw open, dat ik dan nog steeds kan herstellen.
Iedereen is altijd voor dezelfde dienst en plaats ingedeeld.

Misschien verschaft dit wat meer duidelijkheid.

Groet,

Gerrit
 
Wat is het nut dan? Als iemand Z(ziek)? of met F(verlof/vrij)? is dan wordt de lege plek niet ingevuld door iemand anders?
 
Als je het simpel houdt is dat best wel mogelijk.
 

Bijlagen

Dit is wat ik bedoel. Alleen wil ik de V en O nog toevoegen aan de codes die ik gebruik.

Waar zet ik die neer?

Groet,

Gerrit
 
Met je kleurtjes er ook maar bij.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan