Condizionare l'esec...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

Condizionare l'esecuzione di una macro all'esito di altre macro

2 Post
2 Utenti
0 Reactions
534 Visualizzazioni
Forum 1
 Miki
(@miki)
Post: 0
New Member
Avviatore di Topic
 

 

Salve,

Ho realizzato n. 3 Macro: ABC, XYZ, KZW

Vorrei condizionare l'esecuzione della Macro ABC (MAIN) all'esecuzione delle altre macro (SUB)

Ho dichiarato nelle SUB una variabile Boolean

Public EseguitaXYZ As Boolean 
Sub XYZ()  
    EseguitaXYZ = True 
    '
    'codice da eseguire
    
End Sub

per la macro XYZ, e

Public EseguitaKZV As Boolean 

Sub KZV()
    
    EseguitaKZV = True 
    '
    'codice da eseguire
    
End Sub

per la macro xyz.

Ho inserito nella macro MAIN questo codice

Sub Main()
    
    If EseguitaXYZ Then
        '
        'codice da eseguire
        EseguitaXYZ = False

    ElseIf EseguitaKZV Then
        '
        'codice da eseguire
        EseguitaKZV = False
    End If

End Sub

La Macro non gira... a volte da variabile "EseguitaKZV" non riconosciuta

Un aiuto? Forse è sbagliata la funzione EseIF?

Grazie

 

Versione di Excel
Sistema operativo
 
Postato : 27/05/2023 12:24
Etichette discussione
emme
 emme
(@emme)
Post: 0
Moderatore
 

Mah... A parte che, almeno per comprensibilità, dovresti mettere If EseguitaXYZ = True Then, non si capisce perché condizionare l'esecuzione di una Sub al fatto che una variabile nella Sub precedente sia TRUE o FALSE.

Metterle a cascata no? Prima Sub: se la condizione per cui "EseguitaXYZ" = True tanto vale fare la Call alla prossima Sub. Se la condizione per cui "EseguitaXYZ" = False, Exit Sub (oppure Call alla Sub richiamata se "EseguitaKZV" = True) e via cascando. O no?

Comunque:

If ... Else... End If se hai due sole condizioni;

If ... ElseIf... ElseIf... ElseIf... Else... End If per più condizioni.

In ogni caso preferibile

Select Case... Case Is... Case Is... Case Else... End Select 

Questo post è stato modificato 2 anni fa da emme
 
Postato : 07/06/2023 17:02
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download