Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Fórmula SE no VBA

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Fórmula SE no VBA

Mensagem por Elane2020 »

Boa noite!

Não estou conseguindo formar a condição SE no VBA. OS dados são advindos de planilhas diferentes, a fórmula está assim:

=SE(C2<=TabCP$C$4;C2*TabCP!$D$4;SE(C2<=TabCP!$C$5;C2*TabCP!$D$5-TabCP!$E$5;SE(C2<=TabCP!$C$6;C2*TabCP!$D$6-TabCP!$E$6;SE(C2<=TabCP!$C$7;C2*TabCP!$D$7-TabCP!$E$7;SE(C2>TabCP!$C$7;713,1)))))

----

A função VLookup consegui, mas como a condição SE é mais complexa pq envolve mais dados, não tive êxito.
Agradeço qualquer ajuda.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Fórmula SE no VBA

Mensagem por Reinaldo »

Não entendi a demanda


Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Re: Fórmula SE no VBA

Mensagem por Elane2020 »

Oi,

Eu quero criar uma macro para calcular o desconto previdenciário automaticamente. É difícil explicar... Em uma Plan 1, é a tabela de cadastro onde lanço dados via userform. Na Plan 2, criei um Vlookup para "transferir" os salários constantes na plan1. Nessa mesma Plan2, tenho a fórmula SE para verificar o valor a ser descontado (existe uma plan3 com a tabela progressiva). Queria saber como fazer isso pelo VBA, já que envolve operadores matemáticos e não estou tendo êxito pelo IF/Then... E nem pelo worksheetfunction...
Não sei se deu pra entender. Grata!


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Fórmula SE no VBA

Mensagem por Reinaldo »

Experimente algo +/- assim

Código: Selecionar todos

If Sheets("Plan1").Range("C2") <= Sheets("TabPc").Range("C4") Then
    SuaCelula.Value = Sheets("Plan1").Range("C2") * Sheets("TabPc").Range("D4")
ElseIf Sheets("Plan1").Range("C2") <= Sheets("TabPc").Range("C5") Then
    SuaCelula.Value = (Sheets("Plan1").Range("C2") * Sheets("TabPc").Range("D5")) - Sheets("TabPc").Range("E5")
ElseIf Sheets("Plan1").Range("C2") <= Sheets("TabPc").Range("C6") Then
    SuaCelula.Value = (Sheets("Plan1").Range("C2") * Sheets("TabPc").Range("D6")) - Sheets("TabPc").Range("E6")
ElseIf Sheets("Plan1").Range("C2") <= Sheets("TabPc").Range("C7") Then
    SuaCelula.Value = (Sheets("Plan1").Range("C2") * Sheets("TabPc").Range("E7")) - Sheets("TabPc").Range("E7")
ElseIf Sheets("Plan1").Range("C2") > Sheets("TabPc").Range("C7") Then
    SuaCelula.Value = 713.1
End If
Caso não seja o que espera, monte um exemplo de sua planilha, dados ficticios,porem representativo da estrutura/dados; informando manualmente o que tem vs o que espera


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Fórmula SE no VBA

Mensagem por Reinaldo »



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder