Sub ou Função de Saída VBA

No VBA, você pode sair de uma sub ou função, usando o Sair do Sub ou Função de saída comandos.

1 Sair do Sub
1 Função de saída

Quando a execução do código chega a Sair do Sub ou Função de saída, ele sairá de uma Sub ou Função e continuará com qualquer outra execução de código.

Se você quiser aprender como sair de um Sub em caso de erro, clique neste link: VBA em erro Exit Sub

Se você quiser aprender como encerrar a execução de um código inteiro, clique neste link: Fim do VBA

Sair de um Sub em VBA

Você verá no exemplo o que acontece quando usamos o Sair do Sub comando em um Sub. Nós criamos um Sub ExitSub, que tem o Sair do Sub comando dentro. The SubCallExitSub chama isso de Sub. Aqui está o código:

123456789101112131415161718 Sub ExitSub Privado ()Dim i As IntegerPara i = 1 a 10Se i = 5 entãoSair do SubMsgBox "O valor de i é" & iFim seProximo euEnd SubPrivate Sub CallExitSub ()Chamar ExitSubMsgBox "Exit Sub"End Sub

No ExitSub, primeiro entramos no Loop For se o valor de i for menor que 10:

123 Para i = 1 a 10Proximo eu

Depois disso, verificamos se o valor de i é igual a 5, usando o comando If. Se o valor for 5, queremos sair do Sub e retornar a caixa de mensagem com o valor de i:

1234 Se i = 5 entãoSair do SubMsgBox "O valor de i é" & iFim se

Se a condição não for atendida, a seguinte instrução aumenta i em 1 e entra no loop For novamente:

1 Proximo eu

No CallExitSub, primeiro chamamos o Sub ExitSub:

1 Chamar ExitSub

Depois disso, retornamos a caixa de mensagem:

1 MsgBox "Exit Sub"

Se você executar o CallExitSub, ele vai primeiro chamar o ExitSub. Se você executar este código no modo de depuração, verá que ele passará pelo loop 5 vezes. No 5º iteração, o valor da variável i torna-se 5 e o código entra no corpo If. Agora o Sub ExitSub sai e retorna ao CallExitSub. A próxima linha é MsgBox “Exit Sub”:

Como você pode ver, o ExitSub sai logo depois Sair do Sub comando, então o MsgBox “O valor de i é” & i nunca será executado.

Sair de uma função em VBA

Sair de uma função no VBA é semelhante a sair de um Sub, apenas o comando é Função de saída. No exemplo, criamos o ExitFunc que retorna um inteiro. The Sub CallExitFunction chama esta função. Aqui está o código:

1234567891011121314151617181920 Função privada ExitFunc () como inteiroDim i As IntegerPara i = 1 a 10Se i = 5 entãoExitFunc = iFunção de saídaFim seProximo euFunção FinalPrivate Sub CallExitFunction ()Dim intFunc As IntegerintFunc = ExitFunction ()MsgBox "O valor de intFunc é" & intFuncEnd Sub

No ExitFunc, primeiro entramos no Loop For se o valor de i for menor que 10:

123 Para i = 1 a 10Proximo eu

Depois disso, verificamos se o valor de i é igual a 5, usando o comando If. Se o valor for 5, atribuímos o valor de i ao resultado da função e saímos da função:

1234 Se i = 5 entãoExitFunc = iFunção de saídaFim se

Se a condição não for atendida, a seguinte instrução aumenta i em 1 e entra no loop For novamente:

1 Proximo eu

No CallExitFunction, primeiro chamamos a função ExitFunc: Para fazer isso, temos que declarar a variável intFunc digite inteiro e atribua o resultado do ExitFunc função para ele:

123 Dim intFunc As IntegerintFunc = ExitFunction ()

Depois disso, retornamos a caixa de mensagem com o valor de intFunc:

1 MsgBox "O valor de intFunc é" & intFunc

Se você executar o CallExitFunction, ele primeiro chamará a função ExitFunc. Se você executar este código no modo de depuração, verá que ele passará pelo loop 5 vezes. No 5º iteração, o valor da variável i torna-se 5 e o código entra no corpo If. Agora, o valor do ExitFunc torna-se i e a função é encerrada e retornada ao CallExitFunction. A próxima linha é MsgBox “O valor de intFunc é” & intFunc:

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave