Problema para enviar mail desde excel

Quisiera mandar un mail a varios destinatarios de correo desde excel.
Las direcciones de correo las tengo en la celda "L18" concatenadas gracias a una función creada con VBA "Concatenarsi".
Esta es la instrucción que he creado para que, al clickar un botón de formulario me abra el gestor de correo electrónico y en destinatarios aparezcan las direcciones de correo que he recopilado de una serie de fichas de clientes que tengo en el libro excel y que he concatenado, como he comentado antes, en la celda "L18".
Sub enviarmail1()
Dim valor As String
 valor = Worksheets(4).Range("L18")
    Application.Dialogs(xlDialogSendMail).Show valor, _
    "Estimados clientes"
End Sub
Al hacer click me aparece el siguiente mensajem de error: "se ha producido el error "1004" en tiempo de ejecución"
Yo creo que el problema se debe a que la cadena de texto es muy larga (más de cien direcciones de correo recopiladas) ya que si, en la fórmula concatenarsi, reduzco la matriz de búsqueda para que aparezcan diez direcciones de correo, la macro funciona.
Gracias de antemano

1 respuesta

Respuesta
1
Si bien puedo ofrecerte alguna otra rutina para que la pruebes, me temo que tendrás el mismo problema.
-------------------
Por lo tanto mi sugerencia, es que tengas 2 o + celdas donde vayas concatenando por partes. Luego podrás usar un bucle para realizar todos los envíos necesarios.
Algo como:
For i = 1 to 3   'suponiendo que sean 3 celdas las que guardan las direcciones.
'tus instrucciones. Aquí tendrás que automatizar la celda que tenga las direcciones. Por ej, con algo como esto:
valor = Worksheets(4). Cells(12, col) 'donde col será 18 al inicio, antes del For y continuación lo incrementamos en 1
col = col+1
next i
Tu propuesta es una buena alternativa.
He seguido investigando y he descubierto que con
Set OutApp = CreateObject("Outlook.Application")
Funciona independientemente de la cantidad de destinatarios .
Muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas