Condividi tramite

Macro condizionata

Anonimo
2016-05-22T18:32:10+00:00

Buongiorno

descrivo di seguito la mia necessità

all'interno di una semplice macro fatta per associare ad un pulsante il cambio di foglio di lavoro, avrei la necessità di inserire una istruzione che mi facesse il seguente controllo e di conseguenza l'avvio di un'altra macro.

in una cella nascosta inserisco una determinata data es "A1" 31/12/2016

l'istruzione controlla la data odierna e se la data in "A1" è antecedente, esegue le istruzioni di una macro (esempio Macro1), diversamente continua con la sua istruzione originale, cambia foglio di lavoro.

Vi ringrazio anticipatamente per l'aiuto che sicuramente mi darete.

cordialmente

giovanni

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2016-05-22T23:25:26+00:00

    Ciao Giovanni,

    descrivo di seguito la mia necessità

    all'interno di una semplice macro fatta per associare ad un pulsante il cambio di foglio di lavoro, avrei la necessità di inserire una istruzione che mi facesse il seguente controllo e di conseguenza l'avvio di un'altra macro.

    in una cella nascosta inserisco una determinata data es "A1" 31/12/2016

    l'istruzione controlla la data odierna e se la data in "A1" è antecedente, esegue le istruzioni di una macro (esempio Macro1), diversamente continua con la sua istruzione originale, cambia foglio di lavoro.

    Per dimostrare un'approccio alla tua domanda, in un modulo standard, incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Public Sub Tester()

        Dim WB As Workbook

        Dim SH As Worksheet

        Dim Rng As Range

        Const mioFoglio As String = "Foglio1"   '<<=== Modifica

        Const miaCella As String = "A1"                                            '<<=== Modifica

        Set WB = ThisWorkbook

        Set SH = WB.Sheets(mioFoglio)

        Set Rng = SH.Range(miaCella)

        If Rng.Value < Date Then

            Call AltroMacro

            Exit Sub

        End If

        '\ Qui il tuo codice, ad esempio:

            Call MsgBox( _

                 Prompt:="Il valore nella cella " _

                 & Rng.Address(False, False) _

                 & " (ovvero: " & Rng.Value & ")" _

                 & vbNewLine _

                 & " non è antecedente alla data odierna!" _

                 & vbNewLine _

                 & "Quindi, proseguirò con il codice orginale di Giovanni!", _

                 Buttons:=vbInformation, _

                 Title:="REPORT")

    End Sub

    '--------->>

    Public Sub AltroMacro()

        Call MsgBox( _

             Prompt:="Ciao dall'AltroMacro", _

             Buttons:=vbInformation, _

             Title:="DEMO")

        '\ Qui il tuo codice alternativo

    End Sub

    '<<=========

    Potresti scaricare il mio file di prova Giovanni20160523.xlsm a:

    https://www.dropbox.com/s/l16lcgzoxpn4ux2/Giovanni20160523.xlsm?dl=0

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2016-05-24T08:34:07+00:00

    grazie per l'aiuto

    perfetto

    GB

    La risposta è stata utile?

    0 commenti Nessun commento