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

macro's

Status
Niet open voor verdere reacties.

maurice1985

Gebruiker
Lid geworden
31 mrt 2011
Berichten
11
Ik heb een macro geschreven die autmatisch de tijd en datum invult en dat vasthoud en niet doet vernieuwen als je doet opslaan.

maar als ik nu mijn werkmap sluit en weer opnieuw open en de macro's activeer, dan voert hij de macro uit. ook op alle al ingevulde cellen.

weet iemand hoe ik dat kan vergrendelen dat dat niet meer gebeurd.

alvast bedankt.
 
Iets als
IF("A1:).value <> ""
exit sub
else...............
 
dat moet ik dan in de cel als formule erbij zetten?

ik heb nu =IF($G30="x",vastmoment(),"ND")
waar vastmoment een zelf geschreven formule is. en je dus macro aan moet zetten.
en zodra de x in G wordt ingevuld komt er in H de juiste datum en tijd te staan en die mag dan niet meer veranderen. ook niet als ik de macro opnieuw opstart. na afsluiten van het document bijvoorbeeld.
 
Je kan best een voorbeeldbestandje uploaden, dat spreekt makkelijker.
 
dit is wat ik nu gemaakt heb.
 

Bijlagen

  • algemene sprekerslijst_V1.01.xlsm
    28,7 KB · Weergaven: 22
zet dit in de module van ThisWorkbook
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  If Sh.Name Like "*#-##-##" Then                          'gewijzigde blad bevat op het einde een datum
    If Target.Column = 7 And Target.Value = "x" Then       'je zet net een x in de G-kolom,
      Target.Offset(, 1).Value = Now                       'dan zet je datum+tijd in de H-kolom
    End If
  End If
End Sub
 
Met deze code kun je dat verhinderen.
Hiermee zet je de datum/tijd voor eeuwig vast.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Worksheets
    For Each c In Range("H2:H200")
    If IsDate(c) Then Cells(c.Row, c.Column) = Cells(c.Row, c.Column)
    Next
Next
End Sub

Succes, Cobbe
 
ok super,

ik ga het proberen.
neem aan dat ik daar een aparte module van moet maken en niet bij module 1 erbij moet zetten.
 
Beide macro's horen thuis in ThisWorkbook.
 
ik heb nu dit gedaan. maar als ik nu opstart en de macro activeer dan veranderd ie als nog alle data
 

Bijlagen

  • macro.jpg
    macro.jpg
    94,9 KB · Weergaven: 46
Uw code staat op de verkeerde plaats.
Deze code MOET in ThisWorkbook staan.
Dubbelklikken op ThisWorkbook en dan in het rechtse venster de code plakken.

Als ja dan je bestand sluit worden de datums vastgezet.

Cobbe
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan