Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Enviar dados para o e-mail a cada atualização Excel (VBA)

Ir para baixo 
2 participantes
AutorMensagem
AzonBR




Mensagens : 8
Data de inscrição : 20/10/2011

Enviar dados para o e-mail a cada atualização Excel (VBA) Empty
MensagemAssunto: Enviar dados para o e-mail a cada atualização Excel (VBA)   Enviar dados para o e-mail a cada atualização Excel (VBA) EmptySáb Out 22, 2011 6:06 am

Bom Pessoal, boa noite a todos.

Caso alguem possa mim ajudar ficarei muito grato.

Preciso de um macro que envia dados de uma determinada celula para o e-mail(Outlook) a cada atualização da planilha.
Obs: Esta planilha já é interligada com um sistema automático e os dados são atualizados a cada atualização da planilha.

Preciso que seja da sequinte forma:

Se a celula (E15) For menor que <= "7,49" e maior que >= "7,99"
Enviar para mim um e-mail.
Da Seguinte Forma:
Assunto: pH Água Industrial
Conteudo do e-mail: Valor da Celula atual (E15)

Se a celula (E20) For menor que <= "0,99" e maior que >= "2,30"
Enviar para mim um e-mail.
Assunto: Cloro Água Industrial
Conteudo do e-mail: Valor da Celula atual (E20)

Se a celula (k14) For menor que <= "5,79" e maior que >= "6,53"
Enviar para mim um e-mail.
Assunto: pH Água Floculada
Conteudo do e-mail: Valor da Celula atual (k14)

Fazendo esses primeros passos talves consigo completar o restante das informações.

Obs: da forma que fiz não deu certo, pois ao mandar o primeiro e-mail a planilha acusava erro.


a planilha se encontra no 4shared.

red.com/get/IxZ5ytzP/89885000 .xlsm

A senha para ter acesso ao macro VBA é "97503191010"

Desde ja agradeço a todos.



Última edição por AzonBR em Sáb Out 22, 2011 6:19 am, editado 2 vez(es) (Motivo da edição : Informações complementares)
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Enviar dados para o e-mail a cada atualização Excel (VBA) Empty
MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Enviar dados para o e-mail a cada atualização Excel (VBA) EmptyDom Out 23, 2011 12:07 am

Boa noite!!

Nos mende seu link novamente!!!
Em quanto isso.....tente uma adaptação.

Código:

Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
Set rng = Selection.SpecialCells(xlCellTypeVisible)
'You can also use a range if you want
Set rng = Sheets("MySheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected" & _
vbNewLine & "please correct and try again.", vbOKOnly
Exit Sub
End If

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

[u] On Error Resume Next
With OutMail
.To = "mail_leandro@yahoo.com.br"
.CC = ""
.BCC = ""
.Subject = "Atualização Cronograma"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
End With[/u] On Error GoTo 0

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2010
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook

TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With

'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With

'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")

'Close TempWB
TempWB.Close savechanges:=False

'Delete the htm file we used in this function
Kill TempFile

Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing


End Function
lcamargo
Membro

 
Mensagens: 9
Registrado em: 24 Mai 2011, 13:47
Solicitou auxílio e agradeceu : 0 time
Colaborou e foi agradecido : 0 time
Voltar ao topo

Att...

Ir para o topo Ir para baixo
AzonBR




Mensagens : 8
Data de inscrição : 20/10/2011

Enviar dados para o e-mail a cada atualização Excel (VBA) Empty
MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Enviar dados para o e-mail a cada atualização Excel (VBA) EmptyDom Out 23, 2011 2:58 am

Ok, mim ajudou bastante fiz umas modificações e ficou bom!
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Enviar dados para o e-mail a cada atualização Excel (VBA) Empty
MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Enviar dados para o e-mail a cada atualização Excel (VBA) EmptyDom Out 23, 2011 3:04 am

boa noite!!!

Fico feliz por ter resolvido!!! Laughing

Até a próxima....
Ir para o topo Ir para baixo
Conteúdo patrocinado





Enviar dados para o e-mail a cada atualização Excel (VBA) Empty
MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Enviar dados para o e-mail a cada atualização Excel (VBA) Empty

Ir para o topo Ir para baixo
 
Enviar dados para o e-mail a cada atualização Excel (VBA)
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Enviar e-mail pelo o Excel quando faltar 30 dias para vencer um contrato.
» enviar e-mail no Excel dos itens selecionados
» Enviar E-mail pelo Excel - Modelo Pronto
» Macro para enviar e-mail
» resolvido macro excel: enviar email + planilha anexa + copiar a célula A1 e colar no assunto e corpo de e-mail, outlook resolvido

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: