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

Datum.

  • Onderwerp starter Onderwerp starter jpvs
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jpvs

Gebruiker
Lid geworden
28 jan 2003
Berichten
806
In een tabel (C4:P14) word een x gezet en in dit gebied (C47:P57) word deze formule gebruikt =ALS(F6="x";VANDAAG();"")
maar 's anderendaags veranderd de datum bij het openen van het bestand?

Is het mogelijk voor deze statisch te maken?





Pierre
 
Laatst bewerkt:
Nog wat verder gaan zoeken op de site van Ozgrid
en dit gevonden : http://www.ozgrid.com/VBA/auto-add-date.htm
wat aangepast en is dit geworden:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("C4:P14")) Is Nothing Then
            With Target(44, 1)
                .Value = Date
                .EntireColumn.AutoFit
            End With
        End If
End Sub

Bedankt voor de site.

Alleen bij het verwijderen van de x in C4 tot P19 blijft de datum staan in C47:P57?



Pierre
 
Laatst bewerkt:
Pierre

Dit is denk ik wat je vraagt:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    With Target
        
        If .Cells.Count > 1 Then Exit Sub
        
        If Not Intersect(.Cells(1), Range("C4:P14")) Is Nothing Then
            
            If .Value = "x" Then
                Application.EnableEvents = False
                .Offset(43).Value = Date
                Application.EnableEvents = True
            ElseIf .Value = "" Then
                Application.EnableEvents = False
                .Offset(43).ClearContents
                Application.EnableEvents = True
            End If
            
            .EntireColumn.AutoFit
        End If
        
    End With
End Sub

Met deze regel:

Code:
If Not Intersect(Target, Range("C4:P14")) Is Nothing Then

test je of je in het juiste bereik bent, maar je test niet of een x wordt gezet of dat er niets gezet wordt.

Voorts kan je beter een constructie als deze ook gebruiken:

Code:
                Application.EnableEvents = False
                'code
                Application.EnableEvents = True

Met dit

Code:
.Value = Date

zet jij de datum in een cel, en dus wijzig je een cel, en dus wordt dezelfde macro nog eens uitgevoerd. OK, dat is niet zo heel erg want als je test of je in het juiste bereik bent, zal dat niet het geval zijn. Maar toch, beter vermijden ;)

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan