Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
Por AMORIM123
Posts Avatar
#31008
Eis me aqui novamente meus caros.
Dessa vez trago a seguinte questão:
Código: Selecionar todos
Private Sub CommandButton1_Click()


    sVal1 = TextBox1.Value
    
    sVal2 = txt_desc.Value
    

'1º caso - txtResultado = Format(Round(Round((sVal1 / sVal2) * 100, 4) * 100, 2)) & "%"
    'como faço para aplicar este metodo de calculo quando o resulta da divisão de sVal1/sVal2 tiver dois 00 após a virgula - exemplo 0,002780
  
'2º caso -   txtResultado = Format(Round(Round((sVal1 / sVal2) * 100, 4), 2)) & "%"
   'como faço para aplicar este metodo de calculo quando o resulta da divisão de sVal1/sVal2 não contiver zeros após a virgula - exemplo 0,3272
      

End Sub
na realidade o que eu quero é uma forma em que quando dividisse meu sVal1 / sVal2, independente do valor (lógico, obedecendo a lógica de cálculo de porcentagem, menor pelo maior), o valor visualizado no "txtResultado" fosse uma porcentagem com duas casas decimais após a virgula, pois se eu calcular o "Exemplo1" com o "1º caso" do código o resultado será 27,73%, todavia se realizar o calculo do "Exemplo1" com o "2º caso" o resultado será 0,28% e vise-versa.


Exemplo1→ 22.000,00/7.931.000,00 = 0,002773 se eu utilizar o "1 - caso" terei como resultado 27,73%

Porém se calcular:

Exemplo2= 21.600,00/66.000,00 = 3272,73% (1º caso); se eu utilizar o "2 - caso" terei como resultado 32,72% -
e ai teria "o solicitado", isto é, um resulta exibindo em porcentagem, com duas casas decimais após a virgula

Espero ter sido objetivo!

Em anexo a planilha!

quem puder contribuir com algum raciocínio ou exemplo de outro código de outras planilhas serei muito grato!
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por AMORIM123
Posts Avatar
#31082
JCabral agradeço a atenção!

Aplicando o código que vc sugeriu:

Exemplo1 - tenho como resultado ",28%"

Exemplo2 - tenho como resultado 32,73%

Para o segundo exemplo ficou legal mas no primeiro o número exibido deveria ser 27,80% ou 28% arredondado....preciso das duas casas decimais após a virgula.

Levando em consideração o código que coloquei no primeiro post...acho que deveria ser uma condição, só que não sei fazer, seria algo como

código da calculadora = txtResultado = Format(Round(Round((sVal1 / sVal2) * 100, 4), 2)) & "%"

se calcular 21.600,00/66.000,00 = 32,73%

se calcular 22.000,00/7.913.000,00 = 0,28% porém como tenho que ter duas casas decimais após a virgula o resultado seria 27,80% ou 28% arredondado, né ....

Espero ter esclarecido
Avatar do usuário
Por JCabral
Avatar
#31087
Amorim123
Mas 22.000/7.913.000=0,28% e não 27,74%
Para aparecer 0,28% em vez de ,28% tente txtResultado = Format((sVal1 / sVal2), "##0.#0 %")

Espero que ajude
Avatar do usuário
Por Reinaldo
Avatar
#31091
Tambem em http://www.tomasvasquez.com.br/forum/vi ... 356#p24356
Se pretende demonstrar o resultado conforme indicado acima, mesmo sendo incoerente com a matematica;
Experimente:
Código: Selecionar todos
Private Sub CommandButton1_Click()
sval1 = TextBox1.Value
sval2 = txt_desc.Value
    If VBA.Round(sval1 / sval2, 2) = 0# Then
        txtResultado = Format(VBA.Round((sval1 / sval2) * 10000, 2), "0.00") & "%"
    Else
        txtResultado = Format(VBA.Round((sval1 / sval2) * 100, 2), "0.00") & "%"
    End If
End Sub
Avatar do usuário
Por AMORIM123
Posts Avatar
#31097
O Reinaldo bicho ...tá de parabéns eu não estava sabendo muito bem organizar a ideia do que queria, apenas do que precisava..rsrs....mas tipo com essa condição ficou exatamente da forma que estou precisando... É pois eu precisava que as formas de expressão da porcentagem estivessem expressas da mesma forma apesar de um calculo ser porcentagem de base 100% e outro de base 1000%.

Muito obriga mesmo! ;)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord