Microsoft Excel macro di Visual Basic Made Easy

March 31

Microsoft Excel include un linguaggio di programmazione integrato denominato Visual Basic, che consente di creare script che eseguono compiti che non sono incorporate in Microsoft Excel. Questi script sono chiamati macro.

Un modo è possibile scrivere macro è di registrarli (sviluppatore> Registra macro), e un altro modo è quello di aprire l'ambiente di sviluppo integrato di Visual Basic e scrivere la sceneggiatura a mano. La scrittura di script in questo modo consente di personalizzare lo script alle proprie esigenze specifiche. Ma, si sia bisogno di una conoscenza del linguaggio Visual Basic per scrivere script o uno script esistente è possibile entrare nel IDE.

Convalida indirizzi e-mail

Lo script che segue convalida gli indirizzi e-mail memorizzati nel primo foglio di lavoro di un documento di cartella di lavoro Excel. Inserisci alcuni indirizzi e-mail nelle celle A1 a A5 del foglio di lavoro. Commettono errori intenzionali in alcuni degli indirizzi tralasciando il carattere e commerciale ( "@"). Dopo aver inserito lo script in questo articolo, eseguire lo script (alt-F8, "Validate_Emails") per vedere gli indirizzi errati evidenziati.

Digitare il Script

Per iniziare a digitare lo script dopo aver aperto fino Excel, inserire l'IDE di Visual Basic (ALT-F11). (È anche possibile copiare e incollare lo script invece di digitare riga per riga.) Nel riquadro del progetto a sinistra, fare clic sul nome della cartella di lavoro di Excel, quindi selezionare Inserisci modulo. Questo vi dà un nuovo modulo in cui inserire il codice.

Nella visualizzazione codice del modulo appena creato, digitare queste funzioni, facendo attenzione che corrisponda al caso di ogni lettera.

Validate_Emails sub ()

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

'Controllare l'indirizzo di posta elettronica di ogni cella, ora in un array
Per i = 1 To UBound (arrEmail)
rc = blnEmailIsOkay (arrEmail (I, 1))
Se (rc = False) Poi
'Evidenziare la cella con un indirizzo email valido
HilightCell (i)
Finisci se
Il prossimo

End Sub

blnEmailIsOkay Funzione pubblica (CellContents come variante) come booleano

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

Se (p = 0) allora

blnEmailIsOkay = False

Altro

blnEmailIsOkay = True

Finisci se

End Function

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

Con Range (r) .Interior

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

End With
End Sub


Come funziona

Il "arrEmail =" dichiarazione all'inizio di copie Validate_Emails gli indirizzi e-mail da celle da A1 a A5 in foglio 1, ad una matrice interna (arrEmail).

Il ciclo For che segue scorre attraverso tale matrice, e chiama un'altra funzione, blnEmailsIsOkay, per cercare il carattere "@" necessario per gli indirizzi email. Se blnEmailsIsOkay non trova la e commerciale (restituisce false), un'altra funzione, HilightCell, è chiamato a dipingere il cellulare incriminato gialla. La funzione HilightCell è un buon punto di partenza armeggiare con ed esplorare il codice, perché è possibile modificare i dettagli come il colore e altre opzioni di formattazione, lasciando la funzionalità complessiva del programma intatto. Per esempio, provare a cambiare il colore di evidenziazione dal giallo al blu, o il modello di qualcosa oltre "xlSolid." Premere F1 mentre il cursore si trova sopra il ".Pattern" e le proprietà ".color" per avere un'idea di altre opzioni per queste proprietà.