Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Criar planilha para envio em e-mail [Resolvido]
Criar planilha para envio em e-mail [Resolvido]
bom dia a todos!
Estou com um problema, tenho uma planilha de cotação. A mesma possuí várias "abas". Até aí ok.
1- Eu preciso de um código que gere uma cópia da planilha ativa (detalhe, somente valores, ela tem fórmulas e quero que vá somente os valores na cópia).
2- Essa nova planilha deve ser salva em uma outra pasta específica, e deve ser nomeada com o valor de uma célula da planilha. Ex: no B2 tem Ana Laura, a planilha nova deve chamar Ana Laura.
É possível?
Esse dois itens acima são prioridades.
Agora uma perfumaria.
Essa planinha nova (chamada acima, com exemplo de Ana Laura) deve ser anexada em um e-mail (outlook) com o assunto e texto fixos.
Alguém pode me orientar????
Obrigada!
Estou com um problema, tenho uma planilha de cotação. A mesma possuí várias "abas". Até aí ok.
1- Eu preciso de um código que gere uma cópia da planilha ativa (detalhe, somente valores, ela tem fórmulas e quero que vá somente os valores na cópia).
2- Essa nova planilha deve ser salva em uma outra pasta específica, e deve ser nomeada com o valor de uma célula da planilha. Ex: no B2 tem Ana Laura, a planilha nova deve chamar Ana Laura.
É possível?
Esse dois itens acima são prioridades.
Agora uma perfumaria.
Essa planinha nova (chamada acima, com exemplo de Ana Laura) deve ser anexada em um e-mail (outlook) com o assunto e texto fixos.
Alguém pode me orientar????
Obrigada!
Editado pela última vez por Ana Laura em Qua Out 27, 2010 10:01 am, em um total de 1 vez.
Re: Criar planilha para envio em e-mail
Ana,
Praticamente todas as respostas as essas perguntas foram respondidas em outros fóruns. Use o mecanismo de busca para encontrá-las. Na falta delas, voltamos a falar.
Abraços
Praticamente todas as respostas as essas perguntas foram respondidas em outros fóruns. Use o mecanismo de busca para encontrá-las. Na falta delas, voltamos a falar.
Abraços
Re: Criar planilha para envio em e-mail
Ana,
Mantenha a conversa no mesmo tópico. Não abra outros, a não ser que assunto tratado mude. Assim deixamos o fórum mais organizado.
Abraços
Mantenha a conversa no mesmo tópico. Não abra outros, a não ser que assunto tratado mude. Assim deixamos o fórum mais organizado.
Abraços
Re: Criar planilha para envio em e-mail
Bom dia!
Eu só abri um novo tópico pq não achei o q procuro nos demais tópicos.
Pode me direcionar?
Obrigada!
Eu só abri um novo tópico pq não achei o q procuro nos demais tópicos.
Pode me direcionar?
Obrigada!
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Criar planilha para envio em e-mail
Ana, as rotinas abaixo, copia a planilha Ativa para uma nova, renomeando de acordo com o nome na Celula B2 e sem as formulas, copie as mesmas para um modulo e teste :
Quanto a parte de envio de email, pelo sistema de BUSCA do Forum, temos alguns tópicos, é só pesquisar por Enviar Email e encontrará varios outros.
Enviar e-mail através do excel
viewtopic.php?f=5&t=287&p=1764&hilit=enviar+email#p1764
Incluir compromisso e anexo em conta do Outllook Externo
viewtopic.php?f=6&t=372&p=2240&hilit=enviar+email#p2240
Enviar email sem uso do Outlook
viewtopic.php?f=6&t=423&p=2549&hilit=enviar+email#p2549
[]s
Código: Selecionar todos
Public delShts
Sub NovaPlanilhaSemFormulas()
Dim wshPlan As Worksheet
Dim i As Integer
Dim DelNome As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
'Nome na Sheet Ativa em B2
delShts = CStr(ActiveSheet.Range("B2").Value)
Set DelNome = Sheets(delShts)
'Se já existir deleta antes de criar
MyNewSheet delShts
'Conta qde de Planilhas
i = Worksheets.Count
'Define o novo nome
newSht = delShts
ActiveSheet.Copy after:=Worksheets(i)
i = i + 1
Set wshPlan = Worksheets(i)
On Error Resume Next
'Copia a Planilha Ativa e cola sem as formulas
With wshPlan.UsedRange
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
'Renomeia a planilha nova
With wshPlan
.Name = newSht
.Range("A1").Select
End With
End Sub
'Deleta a planilha antiga
Sub MyNewSheet(SheetName)
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(SheetName).Delete
End Sub
Enviar e-mail através do excel
viewtopic.php?f=5&t=287&p=1764&hilit=enviar+email#p1764
Incluir compromisso e anexo em conta do Outllook Externo
viewtopic.php?f=6&t=372&p=2240&hilit=enviar+email#p2240
Enviar email sem uso do Outlook
viewtopic.php?f=6&t=423&p=2549&hilit=enviar+email#p2549
[]s
Re: Criar planilha para envio em e-mail
boa tarde Mauro,
obrigada pela resposta, o código funcionou, porém um detalhes. Eu preciso que seja criado um novo arquivo e não uma nova pasta e mais um detalhe, tenho dois botoes nessa planilha, gostaria que eles não aparececem na nova planilha.
Pode me ajudar mais uma vez?????
Obrigada mesmo!!
obrigada pela resposta, o código funcionou, porém um detalhes. Eu preciso que seja criado um novo arquivo e não uma nova pasta e mais um detalhe, tenho dois botoes nessa planilha, gostaria que eles não aparececem na nova planilha.
Pode me ajudar mais uma vez?????
Obrigada mesmo!!
Re: Criar planilha para envio em e-mail
Ops!
Estava construindo outra solução quando o Mauro respondeu a questão. De qualquer forma, a macro abaixo cria uma nova planilha e copia somente os valores desta, sem fórmulas:
Neste caso, como não houve a cópia da planilha, objetos como imagem e botões não são trazidos.
Abraços
Estava construindo outra solução quando o Mauro respondeu a questão. De qualquer forma, a macro abaixo cria uma nova planilha e copia somente os valores desta, sem fórmulas:
Código: Selecionar todos
Sub CopiaSomenteConteudo()
Dim NewSheet As Worksheet, CurrentSheet As Worksheet
'pega a planilha atual
Set CurrentSheet = ActiveSheet
'cria uma nova planilha
Set NewSheet = ThisWorkbook.Worksheets.Add
NewSheet.Name = CurrentSheet.Name & "2"
'copia todas as células da planilha ativa
CurrentSheet.Cells.Copy
'cola só os valores na nova planilha
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'zera os objetos
Set NewSheet = Nothing
Set CurrenSheet = Nothing
End Sub
Abraços
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Criar planilha para envio em e-mail
Ana, veja se seria isso, aproveitei parte da rotina do Tomas e fiz outra adaptação.
Só não se esqueça de alterar o Caminho aonde será salva a nova Pasta.
[]s
Só não se esqueça de alterar o Caminho aonde será salva a nova Pasta.
Código: Selecionar todos
Sub NovaPastaSemFormulas()
Dim CurrentSheet As Worksheet
Application.ScreenUpdating = False
'Nome na Sheet Ativa em B2
nomeB2 = CStr(ActiveSheet.Range("B2").Value)
Set CurrentSheet = ActiveSheet
On Error Resume Next
'copia todas as células da planilha ativa
CurrentSheet.Cells.Copy
'Cria a Nova PASTA (ARQUIVO)
Set Wkb = Workbooks.Add
'cola somente os valores na planilha Ativa da nova Pasta
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'Define os Novos Nomes - Planilha(ABA) e Pasta(Arquivo)
novoNome = nomeB2
'Renomeia a planilha nova com
'o Nome que estava em B2
With ActiveSheet
.Name = novoNome
.Range("A1").Select
End With
Range("A1").Select
'Enibe a mensagem se a pasta já existir
'Com essa instrução a Pasta será substiutida sem questionamento
Application.DisplayAlerts = False
'Salva a Nova Pasta com o mesmo Nome
Wkb.SaveAs Filename:="E:\EXCEL FORUN\TOMAZ\Ana\" & novoNome & ".xls"
End Sub
Re: Criar planilha para envio em e-mail
Bom dia Mauro,
Muito ótimo, o código, o nome e o caminho estão funcionando perfeitamente mas, ainda me falta um detalhe... essa planilha copiada tem um layout que deve ser preservado.
Desta forma a nova planilha vem sem a configuração da outra.
Muito obrigada por todo o apoio, a macro está perfeita. Pode ajustar só mais esse detalhe por gentileza?
Muitoooo obrigada mesmo!
Muito ótimo, o código, o nome e o caminho estão funcionando perfeitamente mas, ainda me falta um detalhe... essa planilha copiada tem um layout que deve ser preservado.
Desta forma a nova planilha vem sem a configuração da outra.
Muito obrigada por todo o apoio, a macro está perfeita. Pode ajustar só mais esse detalhe por gentileza?
Muitoooo obrigada mesmo!
Re: Criar planilha para envio em e-mail
Bom dia novamente!
Obrigada mais uma vez pelo apoio, eu já consegui ajustar para a minha necessidade o que voces montaram. Muito obriagda!
Obrigada mais uma vez pelo apoio, eu já consegui ajustar para a minha necessidade o que voces montaram. Muito obriagda!