Notifications
Clear all

macro envia email pelo Estado escolhido

14 Posts
2 Usuários
0 Reactions
1,217 Visualizações
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Boa Noite,

alguem teria uma rotina pronta com o seguinte :

Criei uma aba com email de cada loja por Estado.

eu queria uma maco que ao ser acionada, ela me pergunte numa MSG qual Estado eu quero fazer o envio, ou quais Estados, bastando pra isso entrar com a UF do Estado, ex: RJ , SP
Escolhido o Estado ou os Estados, pois todos os Emails ja deixei com a terminacao " ; " , entao a rotina escolhe o anexo que deverá ser enviado, juntamente com o assunto e o corpo da mensagem, porem os email deverão seguir somente com copia oculta.

para isso eu agrupei as lojas Por Estado :

Lojas do RJ
Coluna B - nome da Loja
Coluna C - email da loja ( [email protected]; )

Lojas de SP
Coluna E - nome da loja
Coluna F - email da loja ( [email protected]; )

Lojas MG
Coluna B
Coluna C

e assim vai....

Grato André

 
Postado : 12/12/2015 8:30 pm
(@mprudencio)
Posts: 0
New Member
 

Coloca o arquivo com o codigo aqui.

 
Postado : 14/12/2015 3:34 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

OI amigo, para este eu ainda nao tenho o codigo,
segue em anexo do que eu gostaria, pra mim dificil mas pra vc facil.

Botei so as colunas A, B e C, mas sao varias colulas uma para cada Estado do Brasil, mas ai e so eu copiar a macro . Acho que tera que ser uma Macro Geral que ao ser acionada me pergunte qual Estado gostaria de fazer os Envios, se RJ, MG, SP .... Dai pegaria todos os Emails daquela coluna e PIMBA na gorduchinha !

Grato

Andre

 
Postado : 14/12/2015 4:09 pm
(@mprudencio)
Posts: 0
New Member
 

Do modo que vc fez é so fazer uma macro para cada botao.

Nao precisa de perguntar o Estado basta vc fazer uma macro para cada botao e no botao colocar o nome do estado.... assunto resolvido.

 
Postado : 14/12/2015 4:25 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Do modo que vc fez é so fazer uma macro para cada botao.

Nao precisa de perguntar o Estado basta vc fazer uma macro para cada botao e no botao colocar o nome do estado.... assunto resolvido.

Ai que ta, minhas macros eu pego a dica com um com outro, adapto uma coisa de uma outra de outra e Sai, vc teria ai aluguma rotina ja pronta ?

 
Postado : 14/12/2015 5:04 pm
(@mprudencio)
Posts: 0
New Member
 

Eu nunca usei nenhum codigo para enviar email, nunca precisei.

Vc tinha um codigo pronto que fazia isso, segundo vc disse em outro topico, pq nao faz as adaptações nele.

E nao uso o outlook para enviar emails entao nem tenho como testar.

 
Postado : 14/12/2015 5:16 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Sim vou tentar fazer, so não sei como puxar e colocar todos os emails ainda, amanha vou pesquisar no google.
Se soubrr de algo me fale

Abracos

 
Postado : 14/12/2015 6:50 pm
(@mprudencio)
Posts: 0
New Member
 

Coloca o codigo na planilha e disponibiliza.

 
Postado : 14/12/2015 7:03 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

A Tabela sera composta apenas de Emails confomre o anexo que ja enviei.

Pesquisando na net achei este codigo, mas para me servir preciso de uma rotina a mais que percorra todas as linhas a partir de B14 e introduza em .CCo.

Sub ENVIAR_EMAIL_ADD_PLANILHA()

Dim MyOlapp As Object, MeuItem As Object
Set MyOlapp = CreateObject("Outlook.Application")
Set MeuItem = MyOlapp.CreateItem(olMailItem)

With MeuItem
    .CCo = ("contato@fazerbem.com.br;amigolojista@gmail.com")
    .Subject = "Tabela de Pedidos"
    .Body = "Bom dia Sr." & Teste.[C2].Value & vbCrLf & _
           "Anexo estamos lhe enviando a planilha de pedidos" & vbCrLf & _
           "até 18/12/2015 " & _
           "Saudações " & vbCrLf & _
           Teste.[C4].Value
     'troque o diretorio do documento que queira enviar 'add' anexo.
    .Attachments.Add "C:UsersAndreDesktopPedidos GauerLojista.xlsx"
    .Display

End With

End Sub
 
Postado : 15/12/2015 7:51 am
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Meus poucos conhecimentos de MAcro terminam aqui no codigo abaixo, Veja que usei a celula B14.

sQualEmail = Plan22.Range("B14")

Tive que copiar os emails todos na mesma celula separados por ( ; ). Porem os emails que quero por estao um de baixo do outro em colunas . Para cada coluna ( coloquei os emails por Estado ), farei uma macro, preciso somente criar a rotina que pegue linha por linha de determinada coluna e os coloque em .BCC.

Sub MV1_ENVIAR_EMAIL()

Dim MyOlapp As Object, MeuItem As Object
Set MyOlapp = CreateObject("Outlook.Application")
Set MeuItem = MyOlapp.CreateItem(olMailItem)
Dim sQualEmail
sQualEmail = Plan22.Range("B14") 


With MeuItem
    .BCC = sQualEmail
    .Subject = "Tabela de Pedidos"
    '.Body = "Bom dia Lojista, segue em anexo a nossa Tabela de Pedidos."

        .Body = "Olá Lojista!. Segue anexo nossa Tabele de Pedidos, fico no seu Aguardo." & vbCrLf & _
        "" & vbCrLf & _
        "Seu Pedido Mímimo é de R$ 1000,00, a a forma de envio é F.O.B" & vbCrLf & _
        "" & vbCrLf & _
        "ATENÇÃO" & vbCrLf & _
        "" & vbCrLf & _
        "Seu Pedido somente será liberado depois de sua Aprovação, pois encaminharei um esboço do seu pedido por E-Mail." & vbCrLf & _
        "" & vbCrLf & _
        "Obrigado!" & vbCrLf & _
        "" & vbCrLf & _
        "André Luiz" & vbCrLf & _
        "Fone: (21)3564-" & vbCrLf & _
        "WhatsApp: (21)98799-" & vbCrLf & _
        "atendimento-rj@gauerdobrasil.com.br" 


     'troque o diretorio do documento que queira enviar 'add' anexo.
    .Attachments.Add "C:UsersAndreDesktopPedidos GauerLojista Gauer do Brasil.xlsx"
    .Display

End With

End Sub
 
Postado : 15/12/2015 11:15 am
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Ola !!!!

Achei exatamente o que eu queria, so preciso mudar a coluna e a linha, quero que pegue na coluna " C17 ". Testei o codigo abaixo , fiz algumas modificacoes e deu certo.

Sub Sample()
   'Setting up the Excel variables.
   Dim olApp As Object
   Dim olMailItm As Object
   Dim iCounter As Integer
   Dim Dest As Variant
   Dim SDest As String
   
   'Create the Outlook application and the empty email.
   Set olApp = CreateObject("Outlook.Application")
   Set olMailItm = olApp.CreateItem(0)
   
   'Using the email, add multiple recipients, using a list of addresses in column C.
   With olMailItm
       SDest = ""
       For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
           If SDest = "" Then
               SDest = Cells(iCounter, 1).Value
           Else
               SDest = SDest & ";" & Cells(iCounter, 1).Value
           End If
       Next iCounter
       
    'Do additional formatting on the BCC and Subject lines, add the body text from the spreadsheet, and send.
       .BCC = SDest
       .Subject = "Tabela de Pedidos"
       '.Body = "Ola"
        .Body = "Olá Lojista!. Segue anexo nossa Tabele de Pedidos, fico no seu Aguardo." & vbCrLf & _
        "" & vbCrLf & _
        "Seu Pedido Mímimo é de R$ 1000,00, a a forma de envio é F.O.B" & vbCrLf & _
        "" & vbCrLf & _
        "ATENÇÃO" & vbCrLf & _
        "" & vbCrLf & _
        "Seu Pedido somente será liberado depois de sua Aprovação, pois encaminharei um esboço do seu pedido por E-Mail." & vbCrLf & _
        "" & vbCrLf & _
        "Obrigado!" & vbCrLf & _
        "" & vbCrLf & _
        "André Luiz" & vbCrLf & _
        "Fone: (21)3564-" & vbCrLf & _
        "WhatsApp: (21)98799-" & vbCrLf & _
        "atendimento-rj@"

       
       
       'troque o diretorio do documento que queira enviar 'add' anexo.
       .Attachments.Add "C:UsersAndreDesktopPedidos GauerLojista.xlsx"
       .Display
   
   
   End With
   
   'Clean up the Outlook application.
   Set olMailItm = Nothing
   Set olApp = Nothing
End Sub
 
Postado : 15/12/2015 2:11 pm
(@mprudencio)
Posts: 0
New Member
 

Se eu entendi direito o ajuste

troque isto

SDest = SDest & ";" & Cells(iCounter, 1).Value

por isso

SDest = SDest & ";" & Cells(17, 3).Value

 
Postado : 15/12/2015 2:29 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Se eu entendi direito o ajuste

troque isto

SDest = SDest & ";" & Cells(iCounter, 1).Value

por isso

SDest = SDest & ";" & Cells(17, 3).Value

Ola MPrudencio, bateu na trave esta !

fiz o seguinte teste, deixei emails nas colunas A1, A2, A3 ... e mais emails nas colunas C17, C18, C19 ...., ao final da Macro, ele enviou somente ao Email em A1 e outro em C17 e so.

 
Postado : 15/12/2015 2:52 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Bom dia, o forum aqui é muito interessante, e acho que o propósito aqui é trocar informações e ajudar aqueles que como eu , procuram aprender e tirar dúvidas ou solicitar dicas.

Desde que aqui entrei, e tem muito pouco tempo, tenho recebido ajuda pois tento explicar de forma detalhada aquilo que preciso. Muitas das vezes fui atendido e em outras nao, dai tive que pesquisar bastante aqui e acolá para achar meu problema. Nao sou Expert em Vba e nem chego perto de ser, mas minhas planilhas nao envolvem somente Macro, tanto que nem peço ajuda nenhuma quando envolve formulas, e outros detalhes do Excel. Mas Macro nao é meu forte e nao entendo nada mesmo sobre o assunto. Entao aqui neste Forum e no Guru Excel, aprendi muita coisa de Macro e muitos de vcs me ajudaram.

Infelizmente neste post nao recebi a ajuda necessaria, para resolver um problema simples, nao pra mim é claro, entao desde ontem estou batendo cabeça, e hj depois de uma boa noite de sono, resolvi fazer varios experimentos e retirei aquilo que nao ajudava em nada, isso depois de pesquisar a instrucao

worksheetfunction.countA(columns(“A”)) -

era assim :

Sub Sample()
   'Setting up the Excel variables.
   Dim olApp As Object
   Dim olMailItm As Object
   Dim iCounter As Integer
   Dim Dest As Variant
   Dim SDest As String
   
   'Create the Outlook application and the empty email.
   Set olApp = CreateObject("Outlook.Application")
   Set olMailItm = olApp.CreateItem(0)
   
   'Using the email, add multiple recipients, using a list of addresses in column C.
   With olMailItm
       SDest = ""
       For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
           If SDest = "" Then
               SDest = Cells(iCounter, 1).Value
           Else
               SDest = SDest & ";" & Cells(iCounter, 1).Value
           End If
       Next iCounter

Entao cheguei a isso e deu certo

Sub Sample()
   'Setting up the Excel variables.
   Dim olApp As Object
   Dim olMailItm As Object
   Dim iCounter As Integer
   Dim Dest As Variant
   Dim SDest As String
   iCounter = 1
   
   'Create the Outlook application and the empty email.
   Set olApp = CreateObject("Outlook.Application")
   Set olMailItm = olApp.CreateItem(0)
   
   'Using the email, add multiple recipients, using a list of addresses in column C.
   With olMailItm
       For iCounter = 1 To WorksheetFunction.CountA(Columns(3))
               SDest = SDest & ";" & Cells(iCounter, 3).Value
       
       Next iCounter

Grato a todos vcs que nos ajudam de uma forma ou de outra.

Nao posso esquecer que minhas outras Macros foram resolvidas com a ajuda de vcs e noutras acabei eu mesmo resolvendo, o importante é estar aqui e poder contar com a colaboracao de vcs.

Andre Luiz

 
Postado : 16/12/2015 6:57 am