Cómo extraer direcciones de correo electrónico en una hoja de cálculo de Excel
Una lista de direcciones de correo electrónico de Excel no debe contener más que las direcciones en sí mismas. Sin embargo, si la hoja de cálculo recibió sus datos de un formulario externo, la columna puede contener texto irrelevante. Una celda puede leer "Mi dirección es [email protected]", y otra puede decir "contacto en [email protected]". Puede extraer las direcciones de correo electrónico en una nueva columna para que Excel pueda usarlas para aplicaciones como la combinación de correspondencia. Un método para hacer esto es escribir un script de Visual Basic.
Escribe la función
1.
Presione las teclas "Alt" y "F11" para abrir el editor de Visual Basic de Excel.
2.
Escriba el siguiente código para abrir una nueva función:
Función ExtractCellEmail (celda como rango) como cadena
3.
Agregue el siguiente código para extraer todo el texto de una celda determinada:
Dim dim contents As String contents = cell.Text
4.
Agregue el siguiente código para identificar la posición del símbolo "@" en el texto:
AtPosition = InStr (1, contenidos, "@")
5.
Agregue las siguientes dos líneas para identificar las posiciones inicial y final de la dirección de correo electrónico utilizando la posición del símbolo "@":
AddressStartingPosition = InStrRev (contents, "", AtPosition) AddressEndingPosition = InStr (AtPosition, contents, "")
6.
Agregue la siguiente línea para extraer la dirección de correo electrónico usando las posiciones inicial y final:
emailAddress = Trim (Mid (contenidos, AddressStartingPosition, AddressEndingPosition - AddressStartingPosition))
7.
Agregue la siguiente línea para imprimir la dirección extraída en una celda adyacente:
ActiveCell.Offset (0, 1) .Value = emailAddress
8.
Escriba el siguiente código para cerrar la función:
Función final
Aplicar la función a un rango de celdas
1.
Escriba el siguiente código después de la función para abrir una nueva macro:
Sub mcrExtractColumnAddresses ()
2.
Escriba el siguiente código para abrir un bucle:
Hacer
3.
Escriba el siguiente código después de la línea de bucle para llamar a la función que escribió:
Llamar a ExtractEmails (ActiveCell)
4.
Escriba el siguiente código después de la línea anterior para seleccionar la siguiente celda en la columna:
ActiveCell.Offset (1, 0) .Seleccione
5.
Agregue la siguiente línea para cerrar el bucle:
Bucle hasta que esté vacío (ActiveCell)
6.
Agregue el siguiente código para cerrar la macro:
End Sub
7.
Cambia a la ventana de la hoja de cálculo.
8.
Seleccione la primera celda cuya dirección de correo electrónico desea extraer.
9.
Vuelve a la ventana de Visual Basic. Coloque el cursor del mouse en el bloque mcrExtractColumnAddresses (), si aún no está allí.
10.
Presione la tecla "F5" para ejecutar la macro y extraer las direcciones de correo.
Advertencia
- Este proceso funciona siempre que los únicos símbolos "@" sean los de las direcciones de correo electrónico. Puede asumir de forma segura que esto será cierto para la mayoría de las celdas, pero considere desplazarse por la lista de direcciones de correo electrónico extraídas para detectar manualmente cualquier error.