Envie todas as planilhas com endereço na célula A1 usando VBA no Microsoft Excel

Anonim

Esta macro enviará cada folha para uma pessoa.

  • Crie uma nova pasta de trabalho com a planilha.
  • Salve a pasta de trabalho antes de enviá-la
  • Exclua o arquivo do disco rígido depois de enviá-lo.
Sub Mail_every_Worksheet () Dim strDate As String Dim sh As Worksheet Application.ScreenUpdating = False For each sh In ThisWorkbook.Worksheets If sh.Range ("a1"). Value Like "* @ *" Then sh.Copy strDate = Format (Date , "dd-mm-aa") & "" & Formato (Hora, "h-mm-ss") ActiveWorkbook.SaveAs "Parte de" & ThisWorkbook.Name _ & "" & strDate & ".xls" ActiveWorkbook.SendMail ActiveSheet.Range ("a1"). Value, _ "Esta é a linha de assunto" ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False End If Next sh Application.ScreenUpdating = True End Sub