Komma igång med Excel VBA UserForms

Anonim


I den här artikeln kommer vi att lära dig grunderna i VBA -användarformulär. Jag kommer att förklara hur man skapar ett formulär i excel, hur man använder VBA -verktygslåda, hur man hanterar användarinmatningar och slutligen hur man lagrar användarinmatningarna. Vi kommer att gå igenom dessa ämnen med hjälp av ett exempel och steg för steg guide. Om du läser detta, antar jag att du känner till grunderna i Excel VBA.
Utan ytterligare dröjsmål, låt oss komma igång.
Skapa ett formulär för investeringar i Excel och Store Record
Vi börjar med att utforma användarformuläret. I denna användarform kommer vi att ha en textruta för namn, en för ålder, en för investeringsbelopp och ett par alternativknappar för kön. Låt oss börja.

Utforma användarformen

  • Öppna Visual Basic Editor i Excel med ALT+F11 genväg. I Project Box, högerklicka på VBAProjekt(din fil). I Föra in alternativ, välj UserForm.
  • Omedelbart kommer en ny mapp att skapas och din användarform hittar sin. All användarform för detta projekt kommer att läggas till i den här mappen.
  • Ändra namn på formuläret till InvestmentForm i fastighetsbox.
  • Egenskapsrutan visas längst ned till vänster i projektutforskaren. Om du inte kan se det, gå till visa och klicka på Egenskapsfönster. Vi kommer att använda det mycket, så se till att det finns där. Det används för styling, namngivning och anpassning av formulär.

  • Lägg till element i formen: I bilden ovan har jag redan lagt till element (etiketter, textruta, kommandoknapp). Men en ny användarform är helt tom. Du måste använda verktygslådan för att lägga till element i ditt formulär. Om du inte kan se verktygslådan, hämta den från se flik.

  • Lägg till etiketter med verktygslåda för beskrivande namn. Lägg till textruta för användarinmatningar.

    Lägg till två alternativknappar och namnge dem Man och Kvinna.

    Jag har använt en ram för att inkapsla dem, men det är inte nödvändigt.

    Lägg till kommandoknappar Skicka in och Avbryt att utföra operation på given ingång.

  • Namnelement: Textrutan, etiketter, knappar etc. är alla element. Och för att kunna använda dem i VBA -kod måste vi ge dem namn. Vi använder fastighetsfönstret för att ändra deras namn.
  • Välj elementet. Här väljer jag textrutan för namn. Gå till fastighetsfönstret och ändra namnet till "NameBox”. Gör samma sak för varje element du ska använda. (du behöver inte namnge etiketter om du inte vill att de ska vara klickbara.)


Jag har döpt om elementet till tabellen nedan och jag kommer att använda dessa namn för att hänvisa till dem. Du kan ha olika namn. Ersätt bara dessa namn med ditt namn. Detta är VBA -namn (kodnamn) som kommer att användas i kod. De kommer inte att reflekteras över formen.
Texten du kan se på etiketter och knappar är “Bildtexter”. Elementets namn och bildtext kan vara samma om du vill.

Element Döp om
Namn Textruta NameBox
Ålders textruta AgeBox
Manlig alternativknapp MaleOption
Knapp för kvinnlig alternativ FemaleOption
Investeringstextruta InvestBox
Skicka kommandoknapp Skickaknapp
Avbryt kommandoknapp Avbryt -knapp
  • Visa användarformulär för användare: Nu är formuläret klart, låt oss visa det för användaren. Men vänta, hur gör jag det. Det finns inget alternativ på kalkylbladet att ringa användarformulär.
  • Egentligen behöver användarformulär utlösare. Det kan inte visas av sig själv. Du kan använda, en kommandoknapp, en underrutin eller en händelse för att få formulär att dyka upp på skärmen.

    Här kommer jag att använda en kommandoknapp för att utlösa användarformulär.

    • Gå till fliken utvecklare i ett kalkylblad? Föra in? Knapp (formulärkontroll). Byt namn på den öppna formen.
    • Högerklicka på den. Klicka på tilldela makro och klicka sedan på nytt.

  • En sub skapas omedelbart. Lägg nu till den här raden i den suben.
Sub Open_Form () 'Öppningsform InvestmentForm.Show End Sub 

Det är klart. Gå tillbaka till det bladet och klicka på knappen. Användarformuläret dyker upp.

  • Fyll i blad med VBA -användarformulär: När vi klickade på kommandoknappen (öppet formulär) dyker formuläret upp. Nu kan du fylla i formuläret. Men när vi klickar på knappen skicka, borde data ha skrivits in på detta blad, men ingenting händer.

Eftersom vi inte har skrivit någon vba -instruktion för det. Vi måste lagra användarformulärsdata i arket.

  • Gå tillbaka till VBA och dubbelklicka på Skicka in knapp. En ny under skapas automatiskt. Den här suben är inbäddad i formuläret och du kan inte hitta den i någon modul. Detta är samma för varje element i formen.
  • Skriv den här VBA -koden i den suben.
 Privat submitButton_Click () Sheet1.Activate 'get first empty row on sheet (läs om det här) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Set firstEmptyRow = Range ("A" & lstrow + 1 ) 'initiera varje cell med data firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' första cell firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'första cell till höger firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'tredje cell till höger' kontrollknapp Om MaleOption.Value = True Då firstEmptyRow.Offset (0, 2) .Value = "Male" 'andra cell till höger Else firstEmptyRow.Offset ( 0, 2. 

Ovanstående kodavsnitt av VBA -kod körs när du klickar på skicka -knappen. Den hittar den första tomma raden på arket och fyller den med värden som tillhandahålls i form. Och i slutändan stänger det formuläret med kommandot "Unload Me".

  • Använd kommandot Avbryt för att stänga formuläret. För tillfället är avbryt -knappen värdelös. Det gör ingenting. Om du vill avbryta inmatningen kan du använda knappen Avbryt. Isåfall:

Dubbelklicka på knappen Avbryt kommando i VBA -redigeraren. En ny del skapas. Skriv bara den här kodraden för att stänga användarformuläret.

 Privat sub AvbrytButton_Click () 'Stängningsformulär Avlägsna mig Avsluta sub 

Slutligen kommer formulärkoden att se ut så här.

Och det är allt. Så här använder du excel vba userform för att få input från användare. I den här artikeln undersökte vi bara den grundläggande användningen av användarform, så att du blir bekant med det. Det är enkelt, om du har kunskap om grundläggande vba.

I framtida artiklar kommer vi att utforska mer avancerade funktioner för vba -användarformulär i Excel. Vi kommer att skapa användarform i excel för att göra mycket mer. Vi kommer att utforska olika verktyg och element som är tillgängliga för vba -användarform. Tills dess öva detta. Du kan ladda ner den här filen som referens om du vill.
Så ja grabbar, det här var en liten och enkel användarformshandledning. Jag hoppas att det var fyndigt. Låt mig veta om du har några tvivel angående detta, låt mig veta i kommentarfältet nedan.
relaterade artiklar

Ändra värde/innehåll för flera UserForm-kontroller med VBA i Excel

Förhindra att en användarform stängs när användaren klickar på x-knappen med hjälp av VBA i Excel

Returnera cellerna som användaren refererar till med hjälp av RefEdit -kontroll av användarform i Excel
Populära artiklar:
VLOOKUP -funktionen i Excel

COUNTIF i Excel 2016

Hur man använder SUMIF -funktionen i Excel