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

Hulp met formule

Status
Niet open voor verdere reacties.

Nicu

Gebruiker
Lid geworden
23 jan 2012
Berichten
222
Ik wil graag dat een aantal cellen automatisch leeg worden gemaakt als de naam (uit de 1e cel) wordt verwijderd, is dit mogelijk? Zou dit graag d.m.v. een formule willen, zie bijlage...

Thanks,

Josh
 

Bijlagen

  • Arts2.xlsm
    25,5 KB · Weergaven: 18
Dat kan alleen met VBA:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count <> 1 Then Exit Sub
    
    If Intersect(Target, Columns(2)) Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    
    If IsEmpty(Target) Then
        Range("E" & Target.Row, "I" & Target.Row).ClearContents
        Range("Q" & Target.Row, "R" & Target.Row).Value = CBool(vbFalse)
    End If
    
    Application.EnableEvents = True

End Sub

Overigens heb ik kolom C verwijderd, omdat ik de code in combinatie met samengevoegde cellen (B/C) niet aan de praat kreeg.
In het algemeen is het raadzaam om het samenvoegen van cellen zoveel mogelijk te vermijden, omdat dit vaak problemen oplevert bij bewerkingen.
 

Bijlagen

  • Arts2 MB.xlsm
    29,6 KB · Weergaven: 23
Dit werkt prachtig, prima oplossing met VBA, thanks. Ik loop alleen nog tegen 1 ding aan. Ik had in die B kolom een formule staan die verwijst naar een andere sheet (niet in het voorbeeld wat ik erbij stuurde). Nu heb ik dus wel de cel leeg, maar omdat er eigenlijk een formule staat, wordt er niets gewist. Kan ik hier iets aan doen of moet ik gewoon in VBA verwijzen naar de andere sheet en hoe doe ik dat dan? Zie voorbeeld
 

Bijlagen

  • Arts3.xlsm
    76,3 KB · Weergaven: 23
Laatst bewerkt:
Laat met een IF (als) constructie om die formule kijken naar de leeg gemaakte cellen. Als die leeg zijn, laat je ook het resultaat van de formule leeg....
 
Probeer het zo eens.

Code:
Private Sub Worksheet_Activate()
Dim cl
For Each cl In Range("B13, B17, B19, B21, B23, B25, B27")
    If cl = "" Then
        cl.Offset(, 15).Resize(, 2).Value = 0
        cl.Offset(, 4).Resize(, 5).ClearContents
    End If
Next cl
End Sub
 
Echt helemaal geweldig, het werkt super! Bedankt allemaal, ben er erg blij mee!

Groet,

Josh
 
VenA heb nog één vraag; als ik de naam weg haal op "unit 1" tab dan gebeurd er in principe niets, pas als ik weer naar het tabblad (Unit 1 lab) ga, dan wordt alles pas verwijderd. Is hier nog wat aan te veranderen? Ik heb namelijl een aantal cellen op "unit 1" die verwijzen naar "Unit 1 Lab" die wel leeg moeten worden als een naam verwijderd is...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan