publicado el 7 de marzo2 años Buenas a todo el foro. En una macro para enviar correos mediante outlook como esta. With OutMail .To = "[email protected]" '.To = "[email protected]" .CC = "" .BCC = "" .Subject = "Correo de prueba" .Body = "" En el rango J2:J20 tengo correos diferentes y aplicando un filtro, me gustaria agregar a CC los correo/s que resulten en ese rango del filtro aplicado, no se si me explico. Gracias por adelantado ejemplo.xlsm
publicado el 8 de marzo2 años Podrías hacer lo siguiente: Crear una variable para almacenar los correos de CC concatenados. Crear un rango que contenga los datos filtrados en la columna J. Recorrer el rango y concatenar los correos en la variable de CC, separados por punto y coma (;). Asignar la variable de CC al campo CC del correo. Prueba así a ver si te funciona: Dim correoCC As String With ActiveSheet ' especificar hoja donde está el rango J2:J20 .Range("J2:J20").AutoFilter Field:=1, Criteria1:="condición de filtro" Dim rngCC As Range Set rngCC = .Range("J2:J20").SpecialCells(xlCellTypeVisible) Dim celda As Range For Each celda In rngCC correoCC = correoCC & celda.Value & "; " Next celda correoCC = Left(correoCC, Len(correoCC) - 2) End With With OutMail .To = "[email protected]" .CC = correoCC ' asignar correos de CC .BCC = "" .Subject = "Correo de prueba" .Body = "" End With Nota: reemplazar "condición de filtro" en la línea .Range("J2:J20").AutoFilter Field:=1, Criteria1:="condición de filtro" con la condición que desees para aplicar el filtro. Saludines
publicado el 8 de marzo2 años Autor hace 52 minutos , Israel Cassales dijo: Podrías hacer lo siguiente: Crear una variable para almacenar los correos de CC concatenados. Crear un rango que contenga los datos filtrados en la columna J. Recorrer el rango y concatenar los correos en la variable de CC, separados por punto y coma (;). Asignar la variable de CC al campo CC del correo. Prueba así a ver si te funciona: Dim correoCC As String With ActiveSheet ' especificar hoja donde está el rango J2:J20 .Range("J2:J20").AutoFilter Field:=1, Criteria1:="condición de filtro" Dim rngCC As Range Set rngCC = .Range("J2:J20").SpecialCells(xlCellTypeVisible) Dim celda As Range For Each celda In rngCC correoCC = correoCC & celda.Value & "; " Next celda correoCC = Left(correoCC, Len(correoCC) - 2) End With With OutMail .To = "[email protected]" .CC = correoCC ' asignar correos de CC .BCC = "" .Subject = "Correo de prueba" .Body = "" End With Nota: reemplazar "condición de filtro" en la línea .Range("J2:J20").AutoFilter Field:=1, Criteria1:="condición de filtro" con la condición que desees para aplicar el filtro. Saludines No sabes cuanto te lo agradezco @Israel Cassales No lo veia demasiado dificil, era mas la forma de enfocarlo,
Buenas a todo el foro.
En una macro para enviar correos mediante outlook como esta.
With OutMail .To = "[email protected]" '.To = "[email protected]" .CC = "" .BCC = "" .Subject = "Correo de prueba" .Body = ""
En el rango J2:J20 tengo correos diferentes y aplicando un filtro, me gustaria agregar a CC los correo/s que resulten en ese rango del filtro aplicado, no se si me explico.
Gracias por adelantado
ejemplo.xlsm