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

formule opnieuw gebruiken als overschreven waarde is verwijderd

Status
Niet open voor verdere reacties.

ericll

Gebruiker
Lid geworden
5 mrt 2014
Berichten
8
Ik ben bezig met het maken van een model voor de berekening van een en ander en ik heb een excel probleem dat ik niet kan oplossen.
Ik heb een Cel die gevuld wordt door te verwijzen naar een andere cel. Deze cel kan en mag overschreven (is dus geen beveiligde cel)worden. Wat ik nu wil is dat als ik het overschrevene weghaal de oorspronkelijke formule weer terugkomt.

Ik heb het volgende gefabriceerd en dat werkt goed.


Private Sub WorkSheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
If IsEmpty(Range(Target.Address)) Then
Range(Target.Address).Formula = "=B2+1"

End If
End Sub


In eerste instantie wordt in cel C2 de waarde van B2+1 weergegeven. Deze waarde kan ik overschrijven met bijvoorbeeld 200. Als ik vervolgende deze waarde (200) weghaal door op de delete knop te drukken gaat de formule weer werken en komt de waarde van B2+1 weer netjes in cel C2 te staan.

Ik wil dit graag echter voor meerdere velden doen in een worksheet, wie wil mij helpen hoe dit op te lossen. Ik heb al zitten rommelen met else maar ik kom er niet uit.

Dank


eric
 
Probeer het eens zo:

Code:
Private Sub WorkSheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$2" Then Exit Sub
    If Target.Value = "" Then
        Range(Target.Address).Formula = "=B2+1"
    End If
End Sub
 
Hallo edmoor,

Dank voor de snelle reactie. Ik kom er zo nog niet helemaal uit.

Kom er zo nog niet helemaal uit.
Voor cel c3 staat er als formule bijvoorbeeld b3+50 en voor c4 staat er b4+25% dit is dus steeds een andere formule. Men kan de formule overschrijven maar als het nodig is wil ik het mogelijk maken om de berekende waarde weer terug te krijgen.

Hoop dat je me kan helpen

eric
 
Het voorbeeld dat ik gaf werkt volgens het voorbeeld dat je eerst gaf.
Je vraagt nu om uitbreiding van dit voorbeeld, wat eenvoudig zou moeten zijn als je kijkt wat deze doet.

Dit zou je een aardig idee moeten geven:

Code:
Private Sub WorkSheet_Change(ByVal Target As Range)
    Select Case Target.Address
        Case "$C$2"
    	    If Target.Value = "" Then Range(Target.Address).Formula = "=B2+1"
        Case "$C$3"
    	    If Target.Value = "" Then Range(Target.Address).Formula = "=B3+50"
        Case "$C$4"
    	    If Target.Value = "" Then Range(Target.Address).Formula = "=B4+25%"
    End Select
End Sub
 
Laatst bewerkt:
Eric,

Gelieve in't vervolg te melden (en een link plaatsen) dat je dezelfde vraag ook al op een ander forum gesteld hebt. Zoiets wordt Cross-posten genoemd en het wordt zeker niet gesmaakt door de helpers hier en op andere fora. Dit kan erin resulteren dat men je vraag gewoon links laat liggen, wat jou dan ook weer niet dichter bij een oplossing brengt.Op Worksheet.nl worden zulke vragen zelfs zonder pardon verwijderd..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan