Jump to content
Fórum Script Brasil
  • 0

ajuda vba iniciante


redrummurder

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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

Edited by Marleyson
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...