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

ajuda vba iniciante


redrummurder

Pergunta

estou aprendendo VBA e não consigo dar duas restriçoes para um determinado resultado de minha conta.

quero q minha planilha marque certo resultado se minha divisao de (h/c)<= (1/2) e tambem se (a/c) estiver entre 1 e (3/2).

ex: usei a=60; c=18; h=7... com esses dados meu Bb seria -0.4, mas minha planilha marca -0.5

Function Bb(a, c, h)

If (h / c <= (1 / 2)) And (1 <= a / c <= (3 / 2)) Then

Bb = -0.5

ElseIf (h / c <= (1 / 2)) And (2 <= a / c <= 4) Then

Bb = -0.4

ElseIf (1 / 2) < (h / c) <= (3 / 2) And 1 <= (a / c) <= (3 / 2) Then

Bb = -0.5

ElseIf (1 / 2) < (h / c) <= (3 / 2) And 2 <= (a / c) <= 4 Then

Bb = -0.4

ElseIf (3 / 2) < (h / c) <= 6 And 1 <= (a / c) <= (3 / 2) Then

Bb = -0.6

ElseIf (3 / 2) < (h / c) <= 6 And 2 <= (a / c) <= 4 Then

Bb = -0.5

End If

End Function

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
O VBA não entende inequações simultâneas, como as que você colocou: 1 <= a / c <= (3 / 2)

voce deve escrever nesse caso:

If (h / c <= (1 / 2)) And ( a / c >=1 Or a/c <= (3 / 2)) Then

...

O bruno respondeu muito bem a questão, o VBA não reconhece inequações simultâneas, só vou corrigir a formação da condicional, pois o autor queria uma condição que mostrasse um resultado "entre", e quando queremos um resultado que esteja entre duas variáveis utilizamos o SE ... AND .... AND.

Na tabela verdade:

^ = and

+ = or

V ^ V = V

V + F = V

logo se utilizar o "OR" para determinar o LS e o LI de um Range, pode ser que tanto a variável LS quanto a variável LI autorize a entrada no bloco condicional.

Portanto ficaria assim:

If (h / c <= (1 / 2)) And ( a / c >=1 And a/c <= (3 / 2)) Then

[...] Código se Verdadeiro [...]

End If

espero ter somado.

ATT

Editado por Marleyson
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...