Microsoft Excels skriptspråk , Visual Basic , inte bara ökar funktionaliteten i Excel , men också kan göra att funktioner enklare att använda - genom användarnas formulär . Användarformulär är små fönster som användare får ange kalkylbladsdata igenom . Skapa Form
Börja skapa ett användarkonto formulär genom att ange Visual Basic IDE ( integrerad utvecklingsmiljö ) : från Excel-kalkylblad , tryck på " alt " - " F11 " . Skapa en ny användare formulär genom att gå " Infoga " > " UserForm "
Dra och släpp följande kontroller från verktygslådan till formen : . Två textrutor , den andra under den första . Lägg en kommandoknapp nedanför textrutorna , och två kontroller etikett , var och till vänster om en textruta . I fönstret Egenskaper ändra bildtexten på den övre etiketten " namn" och bildtexten i den undre etiketten " E-postadress ". Ändra knappens bildtext till " Skicka".
Ange koden
nu skriva koden som drar data från formuläret och sätter in det i ett kalkylblad .
Från formulärdesignern fönstret , dubbelklicka på "Skicka" . . Markören flyttas till Button1_Click händelsen , som utlöses när någon klickar på knappen under program runtime
I Button1_Click händelsen , skriv in följande programkod :
Dim r Som räckvidd
Set r = Range ( " a65536 " ) . End ( xlUp ) katalog
Set r = r.Offset ( 1 , 0 ) katalog
r.Value = TextBox1.Value
Set r = r.Offset ( 0 , 1 ) r.Value = TextBox2.Value - ----------------------------- -----------
Skriv en liten subrutin som visar den nya användaren formuläret . Inne i IDE , dubbelklicka på ThisWorkbook ikonen i Project rutan . I koden fönstret , skriv in denna nya subrutin :
Public Sub Mac1 ( ) UserForm1.Show
End Sub
Kör programmet från Excel-kalkylblad genom att gå till Developer > makron , välja " Mac1 , " och trycka på " Run " -knappen . Skriv några kalkylbladet med ditt användarnamn formuläret .
Utforska Program
Den första raden i Button1_Click deklarerar en rad variabel . En rad är en uppsättning av kalkylbladsceller . Du ska skriva in data i detta intervall med koden efter Dim
uttalandet r = Range ( " a65536 " ) End ( xlUp ) definierar en rad en cell : . . Cellen längst till vänster i föregående rad med data . Detta är inte ett intuitivt utseende bit kod , så oroa dig inte om du inte förstår det vid första anblicken . Bryt upp uttalandet att se hur det fungerar . The Range ( " a65536 " ) delen anger tydligt cellen a65536 - vägen längst ned i den första kolumnen i kalkylbladet . Nästa pjäs , End ( xlUp ) , är ett annat område : det är där markören skulle hamna om du hade den till en början på cell a65536 , tryckte på stoppknappen och sedan tryckte på uppåtpilen
p Om du var . att mata in data i den cellen , skulle du skriva över den föregående raden . Det är därför du behöver nästa uttalande : Set r = r.Offset ( 1 , 0 ) . Uttalandet omdefinierar området att vara ett steg nedåt ( och noll kolumner till höger ) från där det var . Intervallet " r " är nu i den första tomma cellen under eventuella befintliga rader med data . Det är där din kod kan börja skriva in en ny datarad . Addera Fyllning celldata från Form Input
De kommande rapporterna flyttar formulärdata till intervallet din kod precis identifierade som den första tomma celler under den föregående uppgifterna raden . r.Value = TextBox1.Value sätter tomma cellens värde med värdet från den första textrutan . Den nästa cell är en kolumn till höger , och Set r = r.Offset ( 0 , 1 ) omdefinierar området vara att cellen . Argumenten 0 och 1 avser 0 rader ner och 1 cell till höger om föregående intervall : s ( " R " ) plats .
Fyllning de två kolonnerna fullbordar en datarad . När användaren klickar på knappen kommer Button1_Click händelsen köra igen . Den Set r = Range ( " a65536 " ) . End ( xlUp ) kommer återigen korrekt inställd utbudet av den nya raden .