Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com código de função VBA


Maria Monica Loiola

Pergunta

Oi, pessoal. 

Eu tentei criar uma função VBA que atende a essas condições conforme o script, só que por algum motivo ela não funciona, e como estou trabalhando com uma base de dados longa, optar pelo VBA tem sido a melhor opção. 

Function crit(duration)
 If duration < 21 Then
 crit = "P1"
 ElseIf duration > 21 Then
 crit = "P1 OU P2"
 ElseIf duration > 42 Then
 crit = "P2 OU P3"
 ElseIf duration > 63 Then
 crit = "P3 OU P4"
 ElseIf duration > 126 Then
 crit = "P4 OU P5"
 ElseIf duration > 252 Then
 crit = "P5 OU P6"
 ElseIf duration > 504 Then
 crit = "P6 OU P7"
 ElseIf duration > 756 Then
 crit = "P7 OU P8"
 ElseIf duration > 1008 Then
 crit = "P8 OU P9"
 ElseIf duration > 1260 Then
 crit = "P9 OU P10"
 ElseIf duration < 2520 Then
 crit = "P10"
 Else
 crit = "--"
 End If
End Function

Quem conhecer uma opção melhor fique a vontade

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom dia @Maria Monica Loiola

tenta usar esse código abaixo:
 

Function crit(duration) As String
Dim resultado As String
    Select Case duration
        Case Is < 21
            resultado = "P1"
        Case Is <= 42
            resultado = "P1 OU P2"
        Case Is <= 63
            resultado = "P2 OU P3"
        Case Is <= 126
            resultado = "P3 OU P4"
        Case Is <= 252
            resultado = "P4 OU P5"
        Case Is <= 504
            crit = "P5 OU P6"
        Case Is <= 756
            resultado = "P6 OU P7"
        Case Is <= 1008
            resultado = "P7 OU P8"
        Case Is <= 1260
            resultado = "P8 OU P9"
        Case Is < 2520
            resultado = "P9 OU P10"
        Case Else
            resultado = "P10"
    End Select
    crit = Replace
End Function

 

Como você fitou que a base de dados é muito grande, ficar fazendo "formulas" para retornar valores vai fazer seu código ficar lento ainda.
O mais aconselhado é fazer um procedimento que percorrer sua base de dados e preencher der acordo com o que deseja. Funciona igual a uma formula porém vai fazer sozinho

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...