Notifications
Clear all

MACRO PARA ENVIAR E-MAIL

5 Posts
2 Usuários
0 Reactions
888 Visualizações
(@alineander)
Posts: 3
New Member
Topic starter
 

Bomm diaa, então criei a macro abaixo para enviar e-mail segundo as necessidades da contabilidade onde trabalho ( não entendo nada, nem sei como consegui criar isso sozinha kkkk) mas ela ate que funciona direitinho :), mas não consigo fazer ela rodar em todas as abas da planilha...

Private Sub Workbook_Open()

linhadados = 1
conta = 0

Do While Sheets(19).Cells(linhadados, 5).Value <> ""

If Sheets(19).Cells(linhadados, 5).Value <= 30 Then

Call CriaEmail(Cells(linhadados, 6), " Prazo de renovação expirando URGENTE!!", "Prezado faltam " & Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & Cells(linhadados, 1))
conta = conta + 1

End If

linhadados = linhadados + 1

Loop

MsgBox ("Foi enviado " & conta & " emails")

End Sub

Sub CriaEmail(Destinatario As String, assunto As String, mensagem As String)

Dim objOutlook As Object
Dim objMail As Object

Set objOutlook = CreateObject("Outlook.Application")

Set objMail = objOutlook.Application.CreateItem(olMailItem)

With objMail

.To = Destinatario
.Subject = assunto
.Body = mensagem
.Display

End With

End Sub

 
Postado : 26/08/2015 8:05 am
Trindade
(@trindade)
Posts: 278
Reputable Member
 

Boa tarde, alineander.

Esse código percorre todas as Plan da sua pasta de trabalho.

Sub Loop_Planilha()

Dim i As Integer

     ' Loop por todas as planilhas na pasta de trabalho
      For i = 1 To Sheets.Count

         ' Ative cada folha de cada vez.
         Sheets(i).Activate
         
      Next i
      
End Sub

Não cheguei testar mas ficaria +- assim a implementação em seu código:

Private Sub Workbook_Open()

Dim i As Integer

linhadados = 1
conta = 0

	'Do While Sheets(19).Cells(linhadados, 5).Value <> ""

		For i = 1 To Sheets.Count

		Sheets(i).Activate

			If Sheets(19).Cells(linhadados, 5).Value <= 30 Then

			Call CriaEmail(Cells(linhadados, 6), " Prazo de renovação expirando URGENTE!!", "Prezado faltam " & Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & Cells(linhadados, 1))
			'onta = conta + 1

			End If

		linhadados = linhadados + 1

		Next i
	'Loop

	MsgBox ("Foi enviado " & conta & " emails")

End Sub

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 26/08/2015 3:24 pm
(@alineander)
Posts: 3
New Member
Topic starter
 

Bom dia,

Muitoo obrigada!
mas desta forma não puxou os dados de nenhuma das abas, quando chega o e-mail esta em braco.

 
Postado : 02/09/2015 5:16 am
Trindade
(@trindade)
Posts: 278
Reputable Member
 

Bom dia, alineander

Teria como você fornecer um modelo reduzido do seu arquivo com dados fictícios para tentarmos entender o motivo de estar indo em branco.

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 02/09/2015 8:34 pm
(@alineander)
Posts: 3
New Member
Topic starter
 

Então amigo,
a ideia da planilha é para que seja enviado um e-mail avisando que determinada obrigação ( pretendemos criar uma aba para cada obrigação tanto contábil, quanto fiscal, enfim para tudo que temos na contabilidade), e assim que a planilha for aberta já identificar tudo que esta vencendo nas abas e enviar e-mail avisando.
espero que consiga me ajudar,
Obrigada!

 
Postado : 03/09/2015 11:59 am