El siguiente script valida direcciones de correo electrónico almacenados en la primera hoja de cálculo de un documento de libro de Excel. Entre algunas direcciones de correo electrónico en las celdas A1 a A5 de la hoja de cálculo . Comete errores intencionales en algunas de las direcciones dejando fuera el carácter ampersand ("@ ") . 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 resaltadas.
Escriba el script
Para empezar escribiendo el guión una vez que se haya abierto Excel , escriba el IDE de Visual Basic (Alt -F11 ) . (También puede copiar y pegar el script en lugar de escribir línea por línea . ) En el panel Proyecto a la izquierda, haga clic en el nombre de tu 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 , con cuidado para que coincida con el caso de cada letra.
Sub Validate_Emails ( ) Dim arrEmail Como VariantDim rc Como BooleanarrEmail = Range (" a1 : A5 ") . Valor
"Consultar el correo electrónico de cada celda , ahora en un arrayFor i = 1 To UBound ( arrEmail ) rc = blnEmailIsOkay ( arrEmail (i, 1 ) ) If ( rc = False ) Then'Highlight la celda con un correo electrónico válido addressHilightCell ( i ) End Sub IfNextEnd
Public Function blnEmailIsOkay ( CellContents As Variant ) As
Boolean
p = InStr ( 1 , CellContents , "@ " )
Si (p = 0 ) = ThenblnEmailIsOkay FalseElseblnEmailIsOkay = TrueEnd Si
End Function
Public Sub HilightCell ( i ) r = "a " & i & " : a ." y I Love
Range ( r ) = Interior.Pattern xlSolid.PatternColorIndex = xlAutomatic.Color = 65535.TintAndShade = 0.PatternTintAndShade = 0End conend Sub
-----------------------------------
Cómo funciona
" arrEmail =" instrucción en el inicio de Validate_Emails copia las direcciones de correo electrónico de las celdas A1 a A5 en la hoja 1 , a una matriz interna ( arrEmail ) .
el bucle que sigue itera a través de la matriz , y llama a otra función, blnEmailsIsOkay , para buscar el carácter "@ ", necesario para direcciones de correo electrónico . Si blnEmailsIsOkay no encuentra el ampersand (devuelve false) , otra función , HilightCell , está llamado 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 otras opciones de formato y color , dejando la funcionalidad general del programa intacto. Por ejemplo , pruebe a cambiar el color de resaltado de amarillo a azul o el patrón de algo más que " xlSolid . " Pulse F1 mientras el cursor está sobre el . " Patrón " y propiedades . " Color" para tener una idea de otras opciones para estas propiedades .