Logo Hardware.com.br
Playboy
Playboy Geek Registrado
3.4K Mensagens 46 Curtidas

[Resolvido] Limitar porcentagem de desconto por VBA

#1 Por Playboy 04/02/2022 - 11:52
Bom dia a todos...

Tenho duas células na planilha onde são inseridas o percentual de desconto. Eu preciso limitar o desconto máximo de desconto. A soma dessas duas células (desconto 01 + desconto 02) não pode ultrapassar o valor de 30%. não estou conseguindo. Se eu der um desconto de 30% o VBA interpreta como fora do limite especificado, mas eu coloquei se a soma for maior que 30% não maior ou igual.

Preciso também, fixar a data o dia do vencimento de acordo com a célula selecionada, dias 05 ou 10 de cada mês. Se a opção for dia 05, etnão, vai mudar o mês e o ano se for o casa, mas o dia, precisa ser sempre o mesmo.

Sei que o VBA não aceita virgula. Na execução passo a passo, o valor da variável C é 0,3 (com vírgula). Não estou conseguindo resolver...


Em anexo a planilha com mais detalhes.

Gratidão a quem ajudar


Utilizando a função DataM com a função LIN, eu consegui mudar mês e ano, mas o dia, eu não consegui fixar os dias 05 ou 10 de cada mês. Da forma que fiz, o dia das parcelas, está sendo a data do orçamento.

segue nova planilha com a fórmula utilizada, pode ser útil para alguém

Anexos

P@tropi
P@tropi Highlander Registrado
3.4K Mensagens 2.6K Curtidas
#4 Por P@tropi
05/02/2022 - 09:44
Bom dia, @Playboy

Para falar a verdade eu até esqueci de ver essa parte da porcentagem, mas é simples, basta acrescentar a condição na tua fórmula.

Substitua a formula da célula E9 por está:
=SE(SOMA(E2-(E2*E5))-(E2*E7)<=E2-(E2*30%);SOMA(E2-(E2*E5))-(E2*E7);E2-(E2*30%))


[]s
Se foi útil, clique em Curtir.
Devemos combater o Comunismo ou qualquer doutrina totalitária.
Playboy
Playboy Geek Registrado
3.4K Mensagens 46 Curtidas
#5 Por Playboy
05/02/2022 - 17:59
P@tropi disse:
Bom dia, @Playboy

Para falar a verdade eu até esqueci de ver essa parte da porcentagem, mas é simples, basta acrescentar a condição na tua fórmula.

Substitua a formula da célula E9 por está:
=SE(SOMA(E2-(E2*E5))-(E2*E7)<=E2-(E2*30%);SOMA(E2-(E2*E5))-(E2*E7);E2-(E2*30%))


[]s



@P@tropi, eu coloquei, mas não funcionou... uma coisa que eu não comentei, o desconto geral, desconto 01 e desconto 02 não pode ultrapassar, 30%, mas se for colocado 30% no desconto 01, o desconto 02 não pode aceitar mais desconto, porque já atingiu o desconto máximo. Gostaria em VBA, porque consigo enviar uma mensagem alertando e voltar o curso para o campo apropriado.
Playboy cap_chateado.png
Playboy
Playboy Geek Registrado
3.4K Mensagens 46 Curtidas
#7 Por Playboy
07/02/2022 - 00:49
P@tropi disse:
Bom dia, @Playboy

Veja como funciona, com aviso e tudo sem utilizar VBA.
Sei que você quer com VBA, mas pode ser que ajude a outras pessoas.

[]s



Show de bola... você é o cara... mas veja bem, a soma dos dois descontos, não pode ultrapassar os 30%, mas dessa forma, não funciona adequadamente por que ela checa apenas o desconto 01. Se eu colocar no Desconto 02 0% de desconto, eu tenho toda liberdade de colocar 100% no desconto 01, entendeu?

Muito obrigado pela ajuda...
Playboy cap_chateado.png
Playboy
Playboy Geek Registrado
3.4K Mensagens 46 Curtidas
#10 Por Playboy
07/02/2022 - 15:29
P@tropi disse:
@Playboy

Você que está por dentro do assunto vai testando e dando retorno.
Agora incluí uma validação na primeira também.

[]s



Boa tarde @P@tropi.. Resolvido. Extamente da forma como necessito. Agora, gostaria de mais uma coisa. ao invés de aparecer parcela 1, parcela 2, gostaria que o aparecesse parcela 01, parcela 02... gostaria que me explicasse como fez para checar os campos descontos, não encontrei onde está a fórumula. Gostaria de saber também, como fez para exibir essa mensagem e se tem como personalizar.

gratidão @P@tropi

Mauriciodez disse:
olha só .... faz assim .... no primeiro desconto vc coloca a condicional "< 30" e no segundo desconto vc coloca a condicional "30 - primeiro_desconto" !!!


@Mauriciodez, a solução do @P@tropi foi prefeita, mas, agradeço a boa vontade e gostaria que me mostrasse na prática como seria, por que não entendi. Gostaria de ver uma outra forma de fazer...
Playboy cap_chateado.png
Mauriciodez
Mauriciodez Highlander Registrado
4.9K Mensagens 1.6K Curtidas
#11 Por Mauriciodez
07/02/2022 - 18:59
Playboy disse:
@Mauriciodez, a solução do @P@tropi foi prefeita, mas, agradeço a boa vontade e gostaria que me mostrasse na prática como seria, por que não entendi. Gostaria de ver uma outra forma de fazer...



eu estou sem office aqui mas é o seguinte ... na célula do primeiro desconto vc insere uma "validação de dados", "decimal", "estar entre", "0,01" e "30" ... na célula do segundo desconto vc insere uma "validação de dados", "decimal", "estar entre" "0" e "=30-[celula-do-primeiro-desconto]" ... ( as mensagens de entrada e erro são opcionais ). https://support.microsoft.com/pt-br/office/aplicar-valida%C3%A7%C3%A3o-de-dados-a-c%C3%A9lulas-29fecbcc-d1b9-42c1-9d76-eff3ce5f7249

por VBA é o mesmo esquema, só que lá vc faz a condição dentro de um if !!!

OBS: é muito provável do @patropi ter feito dessa maneira !!!


" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"
P@tropi
P@tropi Highlander Registrado
3.4K Mensagens 2.6K Curtidas
#12 Por P@tropi
07/02/2022 - 19:51
Boa noite @Playboy

Para ver como eu fiz as validações ==> com o cursor na célula E5 ==> Guia Dados ==> Validação de dados ==> veja as abas configurações, onde tem a fórmula que eu usei e a Aba ==> Alerta de erro, onde tem o alerta que eu digitei.

Segue outro arquivo com a inserção de um zero antes do número de parcelas.

[]s

Anexos

Se foi útil, clique em Curtir.
Devemos combater o Comunismo ou qualquer doutrina totalitária.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal