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

Als celwaarde wijzigt andere cellen wissen

Status
Niet open voor verdere reacties.

Appievee

Gebruiker
Lid geworden
15 jul 2010
Berichten
83
Formulier incl. validatie tussen de tekstboxen

Beste forummers,

Wil graag het volgende doen:
Als gebruikers in c2 een waarde aanpassen dan moeten andere cellen (Naam gegeven: "andere_datums") gewist worden.
Het einde van de code lukt wel alleen het moment van aanroepen "men verandert c2" heb ik geen idee bij.

Code:
Sub Datumcellenwissen()
'
'

'
    Range("Andere_datums").ClearContents

    
    
End Sub

Wie kan mij helpen? Thx!

Albert
 
Laatst bewerkt:
Probeer deze code eens:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If intersect(target, range("C2") is nothing then exit sub
Range("Andere_datums").ClearContents
End Sub

Deze code "linken" aan het blad (dubbelklikken op de naam van het blad in de VBA-editor). Ze mag in geen module staan

mvg,
tkint
 
Dag Tkint,

Helaas geeft ie dan een compilieerfout (syntaxis) op de eerste regel, dus helaas nog geen oplossing.

Groet, Albert
 
Beste,

Probeer eens deze code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 2 Then
Range("Andere_datums").ClearContents
Else: Exit Sub
End If
End Sub

mvg,
tkint
 
Hallo,

Ik ga het op een andere manier aanvliegen m.b.v. een Userform.
De basis heb ik aan de praat gekregen alleen wil ik deze nog verbeteren.

Ik wil dat voordat de waarden worden weggeschreven naar (c8, c9 en c21) een check laten voeren.
Als de rapportagedatum < dan de StartdatumProject dan moet de invoer opnieuw ingevoerd worden. En worden de waarden dus niet naar de cellen geschreven.
Ik had gedacht dat te doen door de rode tekst eraan toe te voegen, maar dan blijft de messagebox verschijnen (ook al is rapportagedatum > Startdatumproject)

Code:
Private Sub Rapportagedatum_Change()
End Sub


Private Sub StartdatumProject_Change()
End Sub
-------------------------------------------------------------------------------------------------------------
Private Sub OK_Click()
    Sheets("Algemeen").Activate
    [COLOR="#FF0000"]If StartdatumProject > Rapportdatum Then
    MsgBox "Startdatum Project(management) kan niet groter zijn dan de rapportagedatum. Pas waarden aan"
    StartdatumProject = Empty
    Rapportagedatum = Empty
    Exit Sub[/COLOR]
    
    Range("C8") = DateValue(StartdatumProject.Value)
    Range("c9") = DateValue(StartdatumImplementatie.Value)
    Range("c21") = DateValue(Rapportagedatum.Value)

     End If
        
End Sub

Daarnaast zou het mooi zijn dat als de Userform nogmaals geactiveerd wordt hij in de tekstboxen de waarden van c8, c9 en c21 alvast ophaalt en de mensen maar 1 datum hoeven aan te passen (namelijk in de praktijk meestal alleen de rapportagedatum)

Hopelijk is het duidelijk genoeg?!

Thanks, Albert
 
Dag,

Alweer met hulp van andere fora's weer een stapje verder gekomen.
De wens om het formulier te vullen met de bestaande waarden uit de sheet is gelukt (met een hoop trail en error:eek:).

Blijft er nog 1 wens over (om te voorkomen dat een flink aantal formules die in het uitgebreide document in de soep gaan lopen)
De gebruiker wil ik behoeden dat per ongeluk de rapportagedatum kleiner dan de startdatumProject wordt ingevuld.

Die validatie is mij nog niet gelukt want dan blijft ie hangen in de loop.

Gr. Albert

Bekijk bijlage ProjectsheetHelpmij2.xlsm
 
Beste,

Vervang de bestaande code door deze code :

Code:
Private Sub OK_Click()
    Sheets("Algemeen").Activate
    
    If DateValue(StartdatumProject) > DateValue(Rapportagedatum) Then
        MsgBox "Startdatum Project(management) kan niet groter zijn dan de rapportagedatum. Pas waarden aan"
        StartdatumProject = Empty
        Rapportagedatum = Empty
        StartdatumProject.SetFocus
        Exit Sub
    Else
        Range("C8") = DateValue(StartdatumProject.Value)
        Range("c9") = DateValue(StartdatumBouw.Value)
        Range("c21") = DateValue(Rapportagedatum.Value)
    End If
    Unload UserForm2
End Sub

mvg,
berre51
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan