Scadenza macro



  • Scadenza macro
    di Sherpa data: 12/09/2010

    Ciao a tutti,
    per proteggere un foglio vorrei che una macro non potesse essere effettuata oltre una certa data.
    cioè: a chiunque esegua la macro oltre una data da me decisa, deve comparire un messaggio tipo "macro scaduta. contattare il vs referente." e di conseguenza la macro non venga eseguita. viceversa se effettuata prima di tale data, l'esecuzione deve avvenire regolarmente.

    ho pensato di indicare una cella con il comando =adesso() e una con la data limite.

    potete cortesemente indicarmi le stringhe vb da inserire prima dei comandi della macro vera e propria?

    grazie mille



  • di Locate (utente non iscritto) data: 12/09/2010

    Ciao
    puoi utilizzare una macro simile a questa
    dove in partenza fa una verifica e se e' ok esegue altrimenti esce con un messaggio
    ciao da locate
    ps. fai attenzione che in vb le date si scrivono prima mese giorno e anno
     
    Sub scadenza()
    Dim dataOK, dataSC
    dataSC = #9/13/2010#
    dataOK = Format(Now, "mm/dd/yyyy")
    If dataSC <= dataOK Then
    MsgBox "data OK" '' tua macro
    Else
    MsgBox "data Scaduta"
    End If
    End Sub



  • di Sherpa (utente non iscritto) data: 13/09/2010

    Intanto grazie
    e se volessi far fare un controllo date all'apertura del file?
    ho provato con workbook.open ma non riesco a trovare la sintassi corretta.



  • di Locate (utente non iscritto) data: 13/09/2010

    Ciao
    potresti usare una macro del genere ''in thisworkbook '' vedi se va bene
    ciao da locate

     
    ''in ThisWorkbook
    Option Explicit
    
    Private Sub workbook_open()
    Dim dataOK, dataSC
    dataSC = #9/14/2010#
    dataOK = Date
    If dataSC >= dataOK Then
    MsgBox "data OK"
    Foglio3.Select ''seleziona foglio 3
    Else
    MsgBox "data Scaduta"
    Exit Sub ''esce e non attiva le macro
    End If
    End Sub



  • di Locate (utente non iscritto) data: 13/09/2010

    Ciao
    mi sono accorto che nella macro che ti ho passato prima ho dimenticato una applicazione di chiusura la quale chiude il file se la data e' scaduta, controlla e sostituiscila con qualla di prima,altrimenti le macro continuano a funzionare anche con data scaduta
    ciao da locate
     
    Option Explicit
    
    Private Sub workbook_open()
    Dim dataOK, dataSC
    dataSC = #9/12/2010#
    dataOK = Date
    If dataSC >= dataOK Then
    MsgBox "data OK"
    Foglio3.Select ''seleziona foglio 3
    Else
    MsgBox "data Scaduta"
    Application.Quit
    End If
    End Sub
    



  • di Sherpa (utente non iscritto) data: 13/09/2010

    Ora è ancora meglio.......... un file che si apre, verifica le date e se fuori salva se stesso e si chiude.....

    perfetto.......... grazie mille

    private sub workbook_open()
    if sheets("dati").range("a10000").value > sheets("dati").range("b10000") then
    activewindow.displayworkbooktabs = false
    thisworkbook.save
    application.quit
    exit sub
    end if
    sheets("dati").select
    range("b1").select
    end sub