Ir ao conteúdo
  • Cadastre-se
tiagonmuniz

Copiar Planilha sem formulas, enviar por e-mail plan aberta

Recommended Posts

Bom dia!

 

Senhores,

Preciso fazer com que o codigo a baixo funcione, algo está errado e ainda nao identifiquei o que é.

 

Preciso que a macro, copie as informaçoes da planilha, abra uma nova, cole só os dados, (sem formulas) apos renomeie a planilha em aberto, com o resultado de uma celula, envie por e-mail só a planilha aberta, e apos isso salve o arquivo em um diretorio do Windows, logo apos excluir a planilha que foi duplicada.

 

O servidor é do outlook mesmo.

 

Segue então o codigo que consegui fazer funcionar algumas vezes.

 

 

Sub Enviar_por_e_mail2()

Dim CurrentSheet As Worksheet
' usa os dados da planilha ativa no momento.
Application.ScreenUpdating = False

        'Nome na Planilha Ativa em B16
        nomeB2 = CStr(ActiveSheet.Range("k11").Value)

        ' seleciona a planilha atual.
        Set CurrentSheet = ActiveSheet
        On Error Resume Next

        'copia todas as células da planilha ativa
        CurrentSheet.Cells.Copy

        'Cria a Nova PASTA (ARQUIVO)
        Set ws = Sheets.Add

        'cola somente os valores na planilha Ativa da nova Pasta,
        'sem formulas e mantenndo a formatação
        With ActiveSheet.Range("A1")
          .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
          .PasteSpecial Paste:=xlFormats
        
         
        End With

        Application.CutCopyMode = False
       
       'Define os Novos Nomes - Planilha(ABA) e Pasta(Arquivo)
        novoNome = [K11].Value

        'Renomeia a planilha nova com
        'o Nome que estava em k11
        With ActiveSheet
            .Name = [K11].Value
            .Range("A1").Select
        End With
              
       ' esta macro envia apenas a planilha aberta por e-mail
     Dim OL              As Object
     Dim EmailItem       As Object
     Dim Wb              As Workbook
     Dim FileName        As String
     Dim y               As Long
     Dim TempChar        As String
     Dim SaveName        As String
     
    Application.ScreenUpdating = False
     Set OL = CreateObject("Outlook.Application")
     Set EmailItem = OL.CreateItem(olMailItem)
     FileName = ActiveSheet.Name & " - " & ActiveWorkbook.Name
     For y = 1 To Len(FileName)
         TempChar = Mid(FileName, y, 1)
         Select Case TempChar
         Case Is = "/", "\", "*", "?", """", "<", ">", "|", ":"
         Case Else
             SaveName = SaveName & TempChar
         End Select
     Next y
     ActiveSheet.Copy
     Set Wb = ActiveWorkbook
     Wb.SaveAs SaveName
     Wb.ChangeFileAccess xlReadOnly
     With EmailItem
        .Subject = "LIBERAÇÃO DA EMPRESA Nº_ " & [K11].Value
         .Body = "Com destino " & [g17].Value & vbCrLf & _
         "Placa " & [t16].Value & vbCrLf & _
         "Container " & [k16].Value & vbCrLf & _
         .to = "email"
         'informar o e-mail do destinatário
         .Importance = olImportanceNormal
         'ou olImprotanceHigh Ou olImprotanceLow para definar o grau de importância
         .Attachments.Add Wb.FullName
         .Send
     End With
     Kill Wb.FullName
     Wb.Close False
     
    Application.ScreenUpdating = True
     
    Set Wb = Nothing
     Set OL = Nothing
     Set EmailItem = Nothing
     
' Excluir_Planilha_atual Macro
'

'
    Sheets("[K11].Value").Select
    ActiveWindow.SelectedSheets.Delete
End Sub

 

 

espero que possam me ajudar, eu fiz esta macro e funcionou algumas vezes, logo apos parou de funcionar...

 

Obrigado.

obs: ela e ativada por um botão.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×