
Para vincular un botón en Excel que permita enviar datos filtrados por correo electrónico, puedes usar VBA (Visual Basic for Applications). A continuación se muestra un paso a paso sobre cómo hacerlo:
Paso 1: Preparar tu hoja de Excel
- Filtrar los datos: Asegúrate de que los datos en tu hoja están filtrados como deseas.
Paso 2: Insertar un botón
- Mostrar la pestaña Desarrollador: Si aún no está visible, haz clic en «Archivo» > «Opciones» > «Personalizar cinta de opciones», y luego marca la casilla «Desarrollador».
- Insertar un botón:
- En la pestaña «Desarrollador», haz clic en «Insertar» en el grupo de controles.
- Selecciona «Botón (Control de formulario)» y dibuja el botón en tu hoja.
Paso 3: Asignar una macro al botón
Sub EnviarCorreoFiltrado()
Dim OutlookApp As Object
Dim MailItem As Object
Dim Rng As Range
Dim FiltroRng As Range
Dim Celda As Range
Dim CuerpoCorreo As String
' Define el rango de los datos (ajusta el rango según tus necesidades)
Set Rng = ThisWorkbook.Sheets("Hoja1").Range("A1:C10")
' OBTENER EL RANGO FILTRADO (debe estar previamente filtrado)
On Error Resume Next
Set FiltroRng = Rng.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
' Verifica si hay celdas visibles
If FiltroRng Is Nothing Then
MsgBox "No hay datos visibles después del filtrado.", vbExclamation
Exit Sub
End If
' Construir el cuerpo del correo con los datos filtrados
For Each Celda In FiltroRng.Rows
CuerpoCorreo = CuerpoCorreo & Join(Application.Transpose(Application.Transpose(Celda.Value)), vbTab) & vbCrLf
Next Celda
' Crear la aplicación de Outlook
Set OutlookApp = CreateObject("Outlook.Application")
Set MailItem = OutlookApp.CreateItem(0)
' Crear el correo
With MailItem
.To = "destinatario@ejemplo.com" ' Ajusta el destinatario
.Subject = "Datos filtrados"
.Body = "Aquí tienes los datos filtrados:" & vbCrLf & CuerpoCorreo
.Display ' Cambia a .Send si deseas enviarlo directamente
End With
' Limpiar variables
Set MailItem = Nothing
Set OutlookApp = Nothing
Set FiltroRng = Nothing
Set Rng = Nothing
End Sub
- Crear una macro:
- Haz clic derecho en el botón y selecciona «Asignar macro».
- Haz clic en «Nuevo» para abrir el Editor de VBA.
- Escribir el código VBA: Aquí tienes un ejemplo básico. Ajusta el rango y los destinatarios según tus necesidades.
Paso 4: Probar la macro
- Guarda tu archivo de Excel con el formato habilitado para macros (.xlsm).
- Haz clic en el botón que has creado y verifica que el correo se genera correctamente con los datos filtrados.
Nota: Para que esto funcione, necesitas tener Outlook instalado y configurado en tu computadora. Además, siempre asegúrate de revisar las políticas de seguridad de tu organización antes de automatizar el envío de correos electrónicos desde Excel.
Conoce nuestros servicios



