Microsoft Excel innehåller ett inbyggt programmeringsspråk som kallas Visual Basic , som låter dig skapa skript som utför uppgifter som inte är inbyggda i Microsoft Excel . Dessa skript kallas makron . Ett sätt du kan skriva makron är att spela in dem ( Utvecklare > Spela in makro ) , och ett annat sätt är att öppna Visual Basic integrerad utvecklingsmiljö och skriva manus för hand . Skriva skript detta sätt kan du skräddarsy manuset till dina specifika behov . Men , behöver du antingen en arbetsgrupp kunskaper i Visual Basic språket för att skriva manus , eller ett befintligt script kan du komma in i IDE . Validera e-postadresser
Följande skript validerar e-postadresser som är lagrade i det första kalkylbladet i en arbetsbok i Excel -dokument. Skriv några e-postadresser i cellerna A1 till A5 i kalkylbladet . Gör avsiktliga misstag i några av adresserna genom att utelämna tecknet ( " @ " ) . Efter inmatning av manus i den här artikeln , köra skriptet ( Alt- F8 , " Validate_Emails " ) för att se de felaktiga markerade adresserna .
Type Script
att börja skriva manuset när du har öppnat Excel , ange Visual Basic IDE ( alt - F11 ) . ( Du kan även kopiera och klistra in skriptet istället för att skriva det rad för rad . ) I Project rutan till vänster , klicka på namnet på din Excel- arbetsbok , och välj sedan Infoga modul . Detta ger dig en ny modul där du kan ange koden .
Koden tanke på den modul du just skapade , skriver dessa funktioner , är noga med att matcha för varje bokstav .
Sub Validate_Emails ( ) Dim arrEmail Som VariantDim rc Som BooleanarrEmail = Range ( " A1 : A5 " ) . Value
"checka varje cell e-postadress , nu i en arrayFor i = 1 Till UBound ( arrEmail ) RC = blnEmailIsOkay ( arrEmail (i , 1 ) ) Om ( rc = False ) Then'Highlight cellen med en ogiltig e addressHilightCell ( i) End IfNextEnd Sub
Public Function blnEmailIsOkay ( CellContents As Variant ) As Boolean
p = InStr ( 1 , CellContents , " @ " ) katalog p Om ( p = 0 ) ThenblnEmailIsOkay = FalseElseblnEmailIsOkay = TrueEnd Om
End Function
Public Sub HilightCell (i ) r = " a " & i & " : a " . & jag
Med Range ( R ) Interior.Pattern = xlSolid.PatternColorIndex = xlAutomatic.Color = 65535.TintAndShade = 0.PatternTintAndShade = 0End WithEnd Sub
-----------------------------------
Så fungerar
" arrEmail = " uttalande i början av Validate_Emails kopierar e-postadresser från cellerna A1 till A5 i kalkylblad 1 , till en intern array ( arrEmail ) .
för loop som följer itererar igenom den arrayen och anropar en annan funktion , blnEmailsIsOkay , för att söka efter " @ " tecknet som behövs för e-postadresser . Om blnEmailsIsOkay inte hitta et-tecknet ( returnerar falskt ) , en annan funktion , HilightCell , kallas att måla den felande cellen gul . Den HilightCell funktionen är ett bra ställe att börja mixtra med och utforska kod , eftersom du kan ändra detaljer som färg och andra formateringsalternativ , medan den totala funktionaliteten i programmet intakt . Till exempel , prova att byta höjdpunkten färg från gult till blått , eller mönstret till något förutom " xlSolid . " Tryck F1 när markören är över " . Pattern " och " . Color " egenskaper för att få en uppfattning om andra alternativ för dessa fastigheter .