Tengo una macro para enviar una hoja, pero ahora quiero enviar 2 hojas

Estimados expertos, tengo esta macro para enviar una hoja por correo

Sub EnviarHoja()
'Por.Dante Amor
hoja = "Hoja1"
'
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ruta = ThisWorkbook.Path & "\"
'
nombre = Sheets(hoja).Name
Sheets(hoja).Copy
ActiveWorkbook.SaveAs Filename:=ruta & nombre & ".xlsx"
ActiveWorkbook.Close False
'
Set dam = CreateObject("outlook.application").createitem(0)
dam.to = "[email protected]"
dam.Subject = "Asunto"
dam.Attachments.Add ruta & nombre & ".xlsx"
dam.Send
End Sub

Pero ahora quiero enviar 2 hojas , cada hoja debe ir en un archivo diferente pero no sé cómo arreglar la macro, me pueden ayudar.

1 respuesta

Respuesta
1

Te anexo la macro actualizada, de igual forma cambia "hoja1" y "hoja2" por los nombres de las hojas que necesites enviar por correo.

Sub EnviarHoja()
'Por.Dante Amor
    h1 = "Hoja1"
    h2 = "Hoja2"
    '
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    ruta = ThisWorkbook.Path & "\"
    '
    n1 = Sheets(h1).Name
    Sheets(h1).Copy
    ActiveWorkbook.SaveAs Filename:=ruta & n1 & ".xlsx"
    ActiveWorkbook.Close False
    '
    n2 = Sheets(h2).Name
    Sheets(h2).Copy
    ActiveWorkbook.SaveAs Filename:=ruta & n2 & ".xlsx"
    ActiveWorkbook.Close False
    '
    Set dam = CreateObject("outlook.application").createitem(0)
    dam.to = "[email protected]"
    dam.Subject = "Asunto"
    dam.Attachments.Add ruta & n1 & ".xlsx"
    dam.Attachments.Add ruta & n2 & ".xlsx"
    dam.Send
End Sub

Saludos.Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas