Como inserir a função if no email.body? vba

Excel VBA para excel Automação de tarefas com VBA

Tenho uma planilha que manda comprovantes de pagamento aos clientes. Geralmente faço isso com Crtl C ...V : Montei um cód VBA, estou com dificuldade em inserir a função If Mais ou menos assim: Como colocar essa fórmula If(b5>O;b5;If(b6>0;b6;0)) em linguagem VBA  Email.body = ??????

Foto de Daniel P.
Daniel perguntou há 4 anos

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
2 respostas
0
votos
Nenhum usuário votou nessa resposta como útil.
Professora Ana Q.
Respondeu há 4 anos

Olá, Daniel

 

No VBA você poderá criar uma variável que recebe o valor da sua fórmula. Essa variável deve ser declarada lá no começo do seu código e o tipo dela dependerá do tipo de valor armazenado na sua célula b5 e b6. Se for texto, você declara como string, se for número inteiro você declara como integer. Deixei abaixo uma lista dos tipos mais comum para você ver qual encaixa o seu caso. 

Variant – Tipo Genérico 

Boolean – True ou False (Veradeiro ou Falso)

Integer – Número inteiro de -32.768 a 32.767

Currency – Quantia monetária

Date – Data

String – Texto

 

Se for uma variável do tipo inteiro, teríamos:

Dim VariavelX as Range

Dim CellB5 as Integer

Dim CellB6 as Integer

 

As suas células se tornaram uma variável e você pode tanto analizar elas separdamente como em conjunto. Ou seja, você pode criar variáveis com cada uma (utilizando a função Range). Isso facilita no código lá para frente para você utilizar sempre a variável e não ficar toda hora chamando a função Range. Além de diminuir a chance de erro, fica muito mais simples alterar o código depois caso a origem do dado mude na planilha. 

Set VariavelX =  Workbook("nome da planilha").Worksheets("nome da aba").Range("B5").Value

O seu "If" é uma árvore de decisão, então ele tem que analizar uma série de passos para decidir qual caminho tomar. Ajuda muito se você colocar isso primeiro no papel antes de começar a colocar no código. No seu caso, ficaria algo como:

If CellB5 > 0 Then

  VariavelX = CellB5     


If CellB6 > 0 Then
  VariavelX = CellB6
Else 
(condinuação da tarefa)
End If

 

Agora é só adaptar esse caso mais genérico para a sua necessidade. 

Espero ter ajudado.

 

Ana

 

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Gustavo B.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 4 anos

Olá Daniel,

Seja varEmailbody a variável que armazena o resultado procurado, B5 e B6 as células de restrição e C5 a célula que apresenta varEmailbody obtido.

Uma subrotina para o questão apresentada seria:

Sub If_Email()
 If Range("B5") > 0 Then
   varEmailbody = Range("B5")
 Else
   If Range("B6") > 0 Then varEmailbody = Range("B6") Else varEmailbody = 0
 End If
 Range("C5") = varEmailbody
End Sub

Qualquer dúvida estou à disposição.

 

Abraços,

Gustavo Borges, M.Sc.

Professores particulares de Excel

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 90 / h
Ana Q.
São Paulo / SP
Ana Q.
5,0 (4 avaliações)
Horas de aulas particulares ministradas 19 horas de aula
1ª hora grátis
Especialização: Finanças (UCLA - Univ. of California)
Professora de inglês, doutoranda no reino unido. Foco em toefl, gre e preparação para entrevista de emprego e pos-graduação.
R$ 50 / h
Vilson B.
Ji-Paraná / RO
Vilson B.
5,0 (43 avaliações)
Horas de aulas particulares ministradas 102 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Excel Avançado Excel Básico Excel Intermediário
Mestrado: Assessoria de Administração (Instituto Politécnico do Porto)
Conheça meu método inovador "excel mão na massa" que criei para ajudar quem precisa aprender rápido e sair na frente nas vagas de emprego e trabalho!
R$ 120 / h
Johny L.
Fortaleza / CE
Johny L.
4,3 (36 avaliações)
Horas de aulas particulares ministradas 99 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Excel para Curso Superior Excel para Iniciantes Excel para Adultos
Graduação: Engenharia Civil (IFCE - Campus Fortaleza)
Professor da UFC - Aulas de estatística práticas e aplicadas ao mercado de trabalho além de acadêmico