Cómo combinar Automatizar el correo a través de VBA en Microsoft Excel
En este artículo, aprenderemos cómo automatizar la combinación de correspondencia mediante el uso de VBA en Microsoft Excel.
Combinar correspondencia: esta es la fuente para combinar la información de los datos en texto y luego imprimir el documento. Para realizar dicha operación utilizamos Microsoft Word.
Comprendamos con un ejercicio simple: – Tenemos un formato de carta en la hoja de Informe y queremos aplicar la combinación de correspondencia a través de VBA en la que también queremos cambiar los detalles de la carta.
Disponemos de 2 hojas. 1 hoja contiene datos con detalles a quienes queremos entregar cartas. En los primeros datos, la columna A contiene el nombre, la columna B contiene la dirección de la calle, la columna C contiene la ciudad, la columna D la región y la columna E y la columna F contienen el código postal. Hay un botón de comando para moverse en la hoja del informe.
2 ^ nd ^ la hoja tiene el formato de letra con 2 botones de comando; un botón para moverse en la hoja de datos y el segundo botón de comando es trabajar para la combinación de correspondencia
En primer lugar, escribiremos el código VBA para el botón de comando de Main Data. Necesitamos seguir los pasos dados a continuación: – * Primero insertaremos el botón de comando en la hoja de trabajo.
-
Vaya a la pestaña Desarrollador y luego inserte el botón Comando de Activexcontrol.
-
Cambie el nombre del botón Comando con el nombre «Letra», y ahora asigne la macro mencionada a continuación: – Private Sub Main_data_Click ()
Hojas de trabajo («Informe»). Activar rango («A19»). Mostrar End Sub Ahora, insertaremos el segundo botón de comando en la hoja Informe y asignaremos la macro para que se mueva en la primera hoja. Necesitamos seguir los pasos que se indican a continuación: – * Cambiar el nombre del botón de comando con el nombre «Datos» y asignar la macro mencionada a continuación: – Private Sub CommandButton2_Click ()
Hojas de trabajo («Main_Data»). Activar rango («A1»). Mostrar End Sub Ahora escribiremos el código principal para la combinación de correspondencia siguiendo los pasos que se indican a continuación: – Inserte el botón de comando y cámbiele el nombre a «Letter Print», y luego asigne el código mencionado a continuación: – Private Sub CommandButton1_Click ()
Dim StartrowAs Integer, lastrow As Integer Dim MsgAs String Dim TotalrecordsAs String Dim name As String, Street_AddressAs String, ciudad Como String, región Como String, país As String, postal As String Totalrecords = «= counta (Main_Data! A: A)»
Rango («L1») = Total de registros Dim mydate As Date Set WRP = Sheets («Report»)
mydate = Fecha WRP.Range («A9») = mydate WRP.Range («A9»). NumberFormat = «[$ -F800] dddd, mmmm, dd, aaaa»
WRP.Range («A9»). HorizontalAlignment = xlLeft Startrow = InputBox («Ingrese el primer registro para imprimir.»)
lastrow = InputBox («Ingrese el último registro para imprimir.»)
If Startrow> lastrow Then Msg = «ERROR» & vbCrLf & «La fila inicial debe ser menor que la última fila»
Msgbox Msg, vbCritical, «ExcelTip»
End If For i = Startrow To lastrow name = Sheets («Main_data»). Cells (i, 1)
Street_Address = Sheets («Main_data»). Celdas (i, 2)
ciudad = Hojas («Datos_principales»). Celdas (i, 3)
región = Hojas («Datos_principales»). Celdas (i, 4)
país = Hojas («Datos_principales»). Celdas (i, 5)
postal = Hojas («Datos_principales»). Celdas (i, 6)
Hojas de cálculo («Informe»). Rango («A7») = nombre & vbCrLf & Street_Address & vbCrLf & ciudad & región & país & vbCrLf & postales Hojas de cálculo («Informe»). Rango («A11») = «Estimado» & «» & nombre & «,»
CheckBox1 = True Si CheckBox1 Entonces ActiveSheet.PrintPreview Else ActiveSheet.PrintOut End If Next i End Sub código Explicación: – Primero, definiremos las variables, luego definiremos la fecha y el formato de fecha, luego definiremos la última fila y la fila de inicio . Luego, hemos creado un cuadro de mensaje para transmitir el mensaje. Luego definiremos los datos y rango que queremos capturar en letra.
-
Para ejecutar el código, presione la tecla F5 en el teclado.
-
Luego debe ingresar el primer punto de registro. Después de eso, obtendrá un nuevo cuadro de mensaje para ingresar el último registro de punto.
-
Y luego obtendrá el documento que se muestra a continuación
-
La carta se actualizará de acuerdo con los detalles mencionados en los datos principales.
Esta es la forma en que podemos automatizar la combinación de correspondencia a través de VBA en Microsoft Excel.