Ejemplo de subrutina en VBA (Ms Excel)
VBA es un lenguaje de programación que se puede utilizar para automatizar tareas en Excel. Se puede utilizar para crear macros, insertar funciones personalizadas y crear formularios. VBA puede ser una herramienta muy poderosa para mejorar la productividad en Excel.
En este post les comparto una subrutina codificada en VBA para extraer una dirección de correo electrónico válida de una cadena de texto.
Por supuesto, la aplicación de un programa como este cobra valor, no para una o dos cadenas de texto, sino para el caso de tener miles de ellas.
Suponga que tienes 3 000 cadenas de texto con datos de estudiantes de una universidad. Y te los dan en un archivo TXT, por ejemplo, como sigue:
- Fulano de Tal 45.922.432 Mérida, cp. 981 fulano_de_tal@yahoo.com 02-02-1989
- Otro Fulano JP 98.234.234 Maracaibo, cp. 982 otrofulano@gmail.com 12-02-1999
- …
Te piden extraer las direcciones de correo electrónico de los 3 000 estudiantes usando Ms Excel…
Pues es ¡fácil!, aquí tienes el código VBA:
Dim inputString As String
Dim regex As Object
Dim matches As Object
Dim match As Object
' Obtener el contenido de la celda B5
inputString = Range("B5").Value
' Crear un objeto RegExp
Set regex = CreateObject("VBScript.RegExp")
' Patrón de expresión regular para encontrar una dirección de correo electrónico válida
regex.Pattern = "([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})"
' Realizar la búsqueda en la cadena de texto
Set matches = regex.Execute(inputString)
' Verificar si se encontró una dirección de correo electrónico válida
Set match = matches(0)
Debug.Print "Dirección de correo electrónico encontrada: " & match.Value
MsgBox "En la cadena de texto no hay una dirección válida", vbExclamation, "Error"
End Sub
Para probar la subrutina creada, coloca una cadena de texto en la celda B5. Asegúrate de tener habilitada la librería «Microsoft VBScript Regular Expressions 5.5» antes de ejecutar el código.
Instrucciones para usar el código:
- Abre tu libro de Excel y presiona Alt + F11 para abrir el Editor de Visual Basic (VBE).
- Haz clic en Insertar en la barra de menú y luego selecciona Módulo.
- Copia y pega el código VBA proporcionado en el módulo recién creado.
- Cierra el Editor de Visual Basic.
- Ahora, ejecuta el programa seleccionando la celda B5 donde se encuentra la cadena de texto y luego ejecutando el macro ExtraerDireccionCorreo. Puedes hacerlo presionando Alt + F8, seleccionando el macro y haciendo clic en Ejecutar.
- Si se encuentra una dirección válida, mostrará el mensaje “Dirección de correo electrónico encontrada: [dirección]” en la ventana inmediata. Y deja el correo en la celda C5.
- Si no se encuentra una dirección válida, mostrará un cuadro de mensaje con el texto “En la cadena de texto no hay una dirección válida”.
Aplicaciones de Microsoft Excel y sus ventajas en la oficina moderna | Ejemplo de algoritmo recursivo: Raíz Cuadrada