• 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 slechts eenmaal aanpaseen per dag

Status
Niet open voor verdere reacties.

coolsluc

Gebruiker
Lid geworden
2 mei 2013
Berichten
332
Ik gebruik de formule " nu()+7" om een datum te plaatsen als ik een bestand open in excel(sjabloon)
Nu is zo dat dit bestand meerdere malen per dag opnieuw geopend wordt maar de datum van eerste opening mag zich niet meer aanpassen, Hoe kan ik dit oplossen??


mvg,Luc
 
Laatst bewerkt:
Zoiets?
Code:
Private Sub Workbook_Open()
    If Format(Sheets(1).Range("A1").Value, "dd-mm-yyyy") = Date Then Exit Sub Else Sheets(1).Range("A1").Value = Now
End Sub
 
Altijd handig zo'n voorbeeldje.

Code aangepast:
Code:
Private Sub a()
    With Sheets("Perso-BZM")
        If Format(.Range("B3"), "dd-mm-yyyy") = Date Then Exit Sub Else .Range("B3") = Now
        
        d = .Range("B3")
        If Weekday(d, vbMonday) <> 1 Then
            maandag = 0
        ElseIf Weekday(d, vbMonday) = 1 And Hour(d.Value) > 5 And Minute(d.Value) Then maandag = 1
        End If
        
        If maandag = 1 Then
            Ploeg1Coach = .Range("B7").Value
            Ploeg2Coach = .Range("C7").Value
            Ploeg3Coach = .Range("D7").Value
            .Range("C7").Value = Ploeg1Coach
            .Range("D7").Value = Ploeg2Coach
            .Range("B7").Value = Ploeg3Coach
            .Range("E3").Value = d
        End If
    End With
End Sub
Ik zou zeggen probeer het eens...
 
Laatst bewerkt:
Spaarie,bedankt voor de aanpassing,ga dit eens testen en laat nog iets weten.


mvg,Luc
 
Spaarie,SORRY hoor maar het werkt niet (denk ik) of misschien is mijn uitleg niet duidelijk genoeg!!

Ik heb de code vervangen door deze van u en het eens getest met een andere datum.
ps:nu is het zo dat er vertrokken word van een sjabloon met macro's (deze heb ik intussen aangemaakt) zie bijlage.

Als ik nu het sjabloon open moet er gekeken worden of het maandag >6:00 is en dan de ploeg coachen een week laat doorschuiven.
ps. per dag word het sjabloon slechts eenmaal geopend voor het aanmaken van een nieuw dag verslag.
De dag van openen moet bij het opslagen de file naam worden-->wanneer deze later moet geopend vb.: ploeg2 of ploeg3 (is dan terug te vinden onder de datum) voor het invullen van het verslag / of ter controle, mag de datum in het verslag niet veranderen

ps:de verslagen worden afgedrukt met de macro's in het blad ploegenboek,kan in deze macro's bij het opslagen/afdrukken van het ploegverslag de file autm. de naam van de datum van eerste maal openen krijgen en sjabloon de volgende dag een nieuw datum krijgt.


http://ge.tt/65FR5gl1/v/0


mvg,Luc
 
Laatst bewerkt:
Volgens mij is alles er in ondervangen, maar denk dat je 'Private Sub a' ook gekopieerd heb. Dit moet natuurlijk 'Private Sub Workbook_Open()' zijn.
Onderstaande is met uitleg en 'Workbook_Open()':
Code:
Private Sub Workbook_Open()
    With Sheets("Perso-BZM")
        'vergelijk datum in B3 met datum van vandaag. Is het ongelijk vul dan de datum van vandaag in
        If Format(.Range("B3"), "dd-mm-yyyy") <> Date Then .Range("B3") = Now
        
        'variabele d benoemen als datum
        d = .Range("B3")
        
        'check of het maandag is
        If Weekday(d, vbMonday) <> 1 Then
            maandag = 0
        ElseIf Weekday(d, vbMonday) = 1 And Hour(d) > 5 And Minute(d) Then maandag = 1
        End If
        
        'als het maandag is voer onderstaande uit
        If maandag = 1 Then
            Ploeg1Coach = .Range("B7").Value
            Ploeg2Coach = .Range("C7").Value
            Ploeg3Coach = .Range("D7").Value
            .Range("C7").Value = Ploeg1Coach
            .Range("D7").Value = Ploeg2Coach
            .Range("B7").Value = Ploeg3Coach
            .Range("E3").Value = d
        End If
    End With
End Sub
 
Spaarie,bedankt voor de uitleg, weet nu wat er fout gelopen is.

Ik heb intussen de code aan de praat gekregen-->werkt perfect.
Nu kunnen we verder werken aan de macro's voor het opslaan.

Nogmaals bedankt voor uw oplossing, indien nog hulp nodig laat ik wel iets weten.


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