¿Cómo enviar / enviar por correo electrónico un rango de celdas a través de Outlook desde Excel?
¿Alguna vez ha sufrido un problema que después de terminar un informe en una hoja de trabajo y necesita enviar a un rango de celdas en esta hoja de trabajo que contienen algunos datos importantes para su destinatario específico? ¿Hay alguna forma rápida de enviar por correo electrónico este rango desde Excel sin abrir Outlook?
Envíe el rango de celdas como archivo adjunto desde Excel con código VBA
Envíe el rango de celdas como cuerpo desde Excel con código VBA
Envíe el rango de celdas como archivo adjunto desde Excel con código VBA
El siguiente código VBA puede ayudarlo a enviar su rango seleccionado como archivo adjunto en Excel. Por favor haz lo siguiente:
1. Abra su libro de trabajo y luego mantenga presionada la ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.
Código VBA: envíe el rango de celdas como archivo adjunto desde Excel
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Nota:: En el código anterior, puede cambiar la siguiente información según sus propias necesidades.
- .To = "skyyang @extendoffice.com "
- .CC = ""
- .BCC = ""
- .Subject = "información de kte"
- .Body = "hola, por favor revise y lea este documento".
3. Luego haga clic F5 para ejecutar este código, y aparecerá un cuadro emergente para recordarle que seleccione un rango que desea enviar. Ver captura de pantalla:
4. Luego haga clic OK, y aparecerá un cuadro de aviso, después de que finalice la barra de progreso, haga clic en Permitir, y luego el rango específico de celdas se ha enviado a su destinatario como un archivo adjunto.
Envíe el rango de celdas como cuerpo desde Excel con código VBA
Si desea enviar un rango específico como parte del cuerpo del mensaje desde Excel, también puede aplicar el siguiente código VBA para resolverlo.
Kutools for Excel, con más de 120 funciones prácticas, facilita su trabajo. | ||
1. Active su hoja de trabajo y mantenga presionada la ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.
Código de VBA: envíe el rango de celdas como cuerpo desde Excel
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Nota: En el código anterior, puede cambiar la siguiente información según sus necesidades.
- .Introduction = "Lea este correo electrónico".
- .Item.To = "skyyang @extendoffice.com "
- .Item.Subject = "información de kte"
3. Luego haga clic F5 para ejecutar este código, y aparecerá un cuadro emergente para recordarle que seleccione un rango que desea enviar.
4. A continuación, haga clic en OK, y aparecerá un cuadro de aviso, después de que finalice la barra de progreso, haga clic en Permitir, y luego el rango específico de celdas se ha enviado a su destinatario como cuerpo del mensaje.
Notas
1. Estos códigos solo están disponibles cuando Outlook es su programa de correo.
2. Después de enviar la hoja de trabajo actual, puede ir a su Outlook para asegurarse de que el correo electrónico se haya enviado correctamente.
Artículos relacionados:
¿Cómo enviar una hoja de trabajo solo a través de Outlook desde Excel?
¿Cómo enviar el libro de trabajo actual a través de Outlook desde Excel?
Las mejores herramientas de productividad de oficina
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
- Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
- Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
- Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
- Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
- Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
- Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
- Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
- Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
- Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!


























