Tecnología

Inicio

Microsoft Excel macros de Visual Basic de forma fácil

Microsoft Excel incluye un lenguaje de programación integrado llamado Visual Basic, que le permite crear secuencias de comandos que realizan tareas que no están integradas en Microsoft Excel. Estas secuencias de comandos son llamados macros.

Una forma puede escribir macros es grabarlas (desarrollador> Grabar macro), y la otra forma es abrir el entorno de desarrollo integrado de Visual Basic y escribir el guión con la mano. Escribir guiones de esta manera le permite adaptar el guión a sus necesidades específicas. Pero, ya sea que necesite un conocimiento práctico del lenguaje Visual Basic para escribir guiones, o un guión existente se puede introducir en el IDE.

La validación de direcciones de correo electrónico

La siguiente secuencia de comandos valida las direcciones de correo electrónico almacenados en la primera hoja de un documento de libro de Excel. Introducir algunas direcciones de correo electrónico en las celdas A1 a A5 de la hoja de cálculo. Cometer errores intencionales en algunas de las direcciones, dejando fuera el carácter de signo ( "@"). Después de introducir la secuencia de comandos en este artículo, ejecute la secuencia de comandos (Alt-F8, "Validate_Emails") para ver las direcciones incorrectas resaltados.

Escriba la secuencia de comandos

Para empezar a escribir el guión una vez que se han abierto Excel, introduzca el IDE de Visual Basic (Alt-F11). (También puede copiar y pegar la secuencia de comandos en lugar de escribir línea por línea.) En el panel Proyecto a la izquierda, haga clic en el nombre de su libro de Excel, a continuación, seleccione Insertar módulo. Esto le da un nuevo módulo en el que introducir el código.

En la vista de código del módulo que acaba de crear, escriba estas funciones, teniendo cuidado para que coincida con el caso de cada letra.

Validate_Emails sub ()

Dim arrEmail As Variant
Dim rc As Boolean
arrEmail = Range("a1:a5").Value

"Compruebe la dirección de correo electrónico de cada celda, ahora en una matriz
Para i = 1 Para UBound (arrEmail)
rc = blnEmailIsOkay (arrEmail (i, 1))
Si (rc = False) A continuación,
'Resalte la celda con una dirección de email no es válida
HilightCell (i)
Terminara si
Siguiente

End Sub

Función Pública (blnEmailIsOkay CellContents As Variant) As Boolean

p = InStr (1, CellContents, "@")

Si (p = 0) A continuación,

blnEmailIsOkay = False

Más

blnEmailIsOkay = True

Terminara si

End Function

Public Sub HilightCell (i)
r = "a" & i & ": un" + i

Con rango (r) .La vivienda

.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0

Terminar con
End Sub


Cómo funciona

El "arrEmail =" instrucción en el inicio de copias Validate_Emails las direcciones de correo electrónico de las celdas A1 a A5 en la hoja de trabajo 1, a una matriz interna (arrEmail).

Para el bucle que sigue itera a través de esa matriz, y llama a otra función, blnEmailsIsOkay, para buscar el carácter "@" necesaria para direcciones de correo electrónico. Si blnEmailsIsOkay no encuentra el símbolo de unión (devuelve falso), otra función, HilightCell, se llama a pintar la celda amarilla infractor. La función HilightCell es un buen lugar para empezar jugando con y explorar el código, ya que puede cambiar detalles como el color y otras opciones de formato, dejando la funcionalidad general del programa intacta. Por ejemplo, trate de cambiar el color del punto culminante del amarillo al azul, o el patrón de algo más que "xlSolid." Pulse F1 mientras el cursor está sobre el ".Pattern" y propiedades ".Color" para tener una idea de otras opciones para estas propiedades.