Notifications
Clear all

Function ou Sub com return com fazer ?

4 Posts
1 Usuários
0 Reactions
528 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Estou tentando fazer uma função que retorne um valor inteiro, mas esta dando erro.


Function RetornaValor ( ByVal valor As Integer, ByVal valorAnterior As Integer ) As Integer
    
        Dim somatorio As Integer

        If ... Then
        Else
        End If

         return somatório
 
End Function

Chamando assim a Function

Dim calculado As Integer
Set calculado = RetornaValor ( valor, valorAnterior )
 
Postado : 14/09/2016 10:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ficaria bem mais fácil ajudar se colocasse as rotinas completas, só pelo que postou não da para saber o que quer, uma vez que não sabemos o que está entre as condições :

If ... Then
        Else
        End If

Coloque tambem um exemplo com os valores e simulando os resultados esperados.

[]s

 
Postado : 14/09/2016 11:10 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Então Mauro Coutinho, Eu comecei a fazer a função e coloquei um valor, inteiro fixo, para fazer um teste se realmente a função retornaria alguma coisa, ai deu erro, procurei na internet, apliquei no código da internet do site da própria microsoft e assim mesmo dava erro, então resumindo quero que retorne o um valor inteiro, de uma formula de calculo de escada para industria, preciso que funcione para poder aplicar melhor a lógica, mais ai embaixo teremos uma ideia.

Mas observando, por motivo do maior de erro não consegui aplicar lógica correta, mas ai já dá para ter uma ideia do que estou querendo, que é retornar o valor do calculo que fica no intervalo de 600 a 660 se a condição for verdadeira e se não for atendida retorne 0


Function RetornaValor ( ByVal valor As Integer, ByVal valorAnterior As Integer ) As Integer
    
        Dim somatorio As Integer
        Dim formula As Integer
        
        formula = (2* valor) + valorAnterior

        If formula >= 600 And formula <= 660 Then
               somatorio = formula
        Else
               somatorio = 0
        End If

         return somatório

End Function

 
Postado : 14/09/2016 11:54 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muito fácil
É só colocar o nome da função recebendo o valor desejado, nossa que facil kkkkkkkkk


Function RetornaValor ( ByVal valor As Integer, ByVal valorAnterior As Integer ) As Integer
    
        Dim somatorio As Integer
        Dim formula As Integer
        
        formula = (2* valor) + valorAnterior

        If formula >= 600 And formula <= 660 Then
               somatorio = formula
        Else
               somatorio = 0
        End If

         RetornaValor = somatório 'NOME DA FUNÇÃO RECEBENDO O VALOR DESEJADO

End Function

 
Postado : 14/09/2016 3:37 pm