Tenho este comando abaixo ao qual esta funcionando correto, porem tenho a necessidade de inrtroduzir uma linha e nao estou conseguindo.
Quero na linha .Body = Corpo, ( AS20 ), colocar uma instrucao para pular uma linha e em seguida acrescentar a celula "AS24"
Pensei nisso aqui, mas ta dando errado :
.Body = corpo '& vbCrLf & _
"" & vbCrLf & _
Sheets(aba).Range("AS24").Value
Segue abaixo a Macro que como esta funciona perfeitamente.
Sub A3_EnviaPlanilhaAtiva_Gauer() Dim oOutlook As Object Dim oEmail As Object Dim wbAtual As Workbook Dim sNomeArquivo As String Dim sLocalTemp As String Dim resultado As VbMsgBoxResult Dim aba As String aba = Range("F4").Value 'referente Celula aba "Pedido Gauer" Dim corpo As String corpo = Sheets(aba).Range("AS20") Application.ScreenUpdating = False Set oOutlook = CreateObject("Outlook.Application") Set oEmail = oOutlook.CreateItem(0) sLocalTemp = "C:UsersAndreDesktop" ' Copia a planilha ativa e salva em local temporário ActiveSheet.Copy Set wbAtual = ActiveWorkbook ' Aqui você define qual planilha deve ser gravada sNomeArquivo = wbAtual.Worksheets("PEDIDO LOJA").name On Error Resume Next Kill sLocalTemp & sNomeArquivo On Error GoTo 0 wbAtual.SaveAs Filename:=sLocalTemp & sNomeArquivo With oEmail .To = "teste@teste.com.br" .Subject = "Pedido " & [G1].Value & " - " & [F4].Value .Body = corpo .Attachments.Add wbAtual.FullName .ReadReceiptRequested = True ' confirmação de leitura resultado = MsgBox("Deseja ver o Envio e Adicionar um anexo( SIM ) ou ( NÃO ) ?", vbYesNo, "Tomando uma Decisão") If resultado = vbYes Then .Display Else .Send End If 'Envia o email a Gauer 'NovoArquivoXLS.SendMail "gauer@gauerdobrasil.com.br", "Pedido " & [F4].Value, True End With 'Deleta o arquivo temporário wbAtual.ChangeFileAccess Mode:=xlReadOnly Kill wbAtual.FullName wbAtual.Close SaveChanges:=False Set oEmail = Nothing Set oOutlook = Nothing End Sub
Grato
Andre
Tenta trocando vbCrLf por Chr (13)
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Andre,
Experimente o que o mestre falou. Caso não atenda, experimente alterar a string corpo para:
corpo = Sheets(aba).Range("AS20") & Chr(13) & Chr(13) & Sheets(aba).Range("AS24")
E então defina no item de e-mail :
.Body = corpo
Abs
Espero ter ajudado.
Abs.
Saulo Robles
Andre,
Experimente o que o mestre falou. Caso não atenda, experimente alterar a string corpo para:
corpo = Sheets(aba).Range("AS20") & Chr(13) & Chr(13) & Sheets(aba).Range("AS24")E então defina no item de e-mail :
.Body = corpoAbs
Assim não foi :
.body = corpo & Chr (13) & Chr (13) & sheets(aba).Range("AS24"). ' e nem pondo .Value no final.
E da forma sugerida também não .
Desculpe !! Agora foi sim botei Ranger ao inves de Range em :
.body = corpo & Chr(13) & Chr(13) & sheets(aba).Range("AS24")
Muito grato de novo !!!!
Falta agora resolver o outro topico desta mesma macro agora.
André,
Tentei assim e funcionou
Dim vCel, vCel1 As String vCel = Sheets(aba).Range("AS20") vCel1 = Sheets(aba).Range("AS24") Dim corpo As String corpo = vCel + vbNewLine + vbNewLine + vCel1
E no item de Email
.Body = corpo
Abs
Espero ter ajudado.
Abs.
Saulo Robles
funcionou sim, eu fiz a correcao , eu que usei Ranger ao ives de Range.
Assim ficou joia !!
.body = corpo & Chr(13) & Chr(13) & sheets(aba).Range("AS24")
Muito Obrigado