Macro para enviar automáticamente un email desde Excel

Hola!

Necesito de su ayuda para elaborar un macro en VBA que envíe automáticamente un email desde mi archivo en Excel. Yo modifique un macro que encontré dentro de las preguntas de otro usuario y que era similar a mi caso pero yo necesito que se aplique a todo el archivo (todas las hojas de calculo) y no solo a una en especifico. Esta es la macro:

Private Sub Workbook_Open()

'envía mail
'Por.MNavarro


Sheets("Briqueteur-maçon").Select


ufila = Range("A" & Rows.Count).End(xlUp).Row

For i = 4 To ufila


If Cells(i, 10) = "OUI" Then
Set parte1 = CreateObject("outlook.application")
Set parte2 = parte1.createitem(olmailitem)
para = Cells(i, 15) & ";"
parte2.to = para 'Destinatarios
'parte2.CC = "" 'Con copia
parte2.Subject = "Libre en retard" '"Asunto"
'"Cuerpo del mensaje"
parte2.body = "Le libre " & Cells(i, 1) & _
" Vol. " & Cells(i, 2) & _
" prêté à M. " & Cells(i, 11) & _
" est en retard. " & _
" Veuillez le contacter au tél. " & Cells(i, 14) & _
". Bonne journée."
'parte2.Attachments.Add Ruta & Archivo
parte2.send 'El correo se envía en automático
'parte2.display 'El correo se muestra
End If
Next
End Sub

Es la primera vez que trabajo con visual basic, y la verdad no se nada de su lenguaje. Yo intente interpretar y modificar según mis necesidades. Funciona enviando el correo, pero a veces me marca errores y solo me envía una parte de los emails. Ademas de que se aplica solamente para mi hoja de calculo llamada "Briqueteur-maçon" y necesito que lo haga con todas las hojas de calculo del archivo, como lo había mencionado anteriormente. Pero no se donde y como debo hacer las correcciones.

Para mayor información, el acomodo de mi archivo es el siguiente:

Linea 1: Titulo profesión

Linea 2: Vacío

Linea 3: Encabezados de columna

A partir de la linea 4: información

Columnas: De la "A" a "P"

Gracias de antemano y quedo en espera de sus comentarios.

Minerva

Añade tu respuesta

Haz clic para o