Vad är VBA TextBox i Excel?
VBA TextBox är en av de många kontrollerna från UserForm-kontroller i Excel. VBA TextBox kan vara praktiskt när du vill ha inmatning från användaren som deras namn, ålder, adress, lön etc. Med hjälp av TextBox-kontroll kan du tillåta användare att mata in den här typen av information och spara många av din tid samt skrivfel . VBA TextBox kan bestå av statiska eller dynamiska data.
UserForm i sig är ett mycket användbart verktyg som har olika kontrollalternativ som TextBox, MsgBox och InputBox, etc. som ger ett mer praktiskt sätt att få data från användaren så att du funktionellt kan bearbeta dessa data och ta reda på några användbara insikter ur den .
I den här artikeln får du praktisk erfarenhet av Excel VBA TextBox.
Exempel på Excel VBA TextBox
Nedan finns de olika exemplen på VBA TextBox i Excel.
Du kan ladda ner denna VBA TextBox Excel-mall här - VBA TextBox Excel-mallExempel 1 - Hur sätter du in TextBox i VBA?
Nedan följer stegen för att infoga TextBox i Excel VBA.
Steg 1: Öppna en Excel-fil och tryck Alt + F11 för att navigera till VBA-fönstret.
Steg 2: Som vi redan har diskuterat är TextBox ett alternativ tillgängligt i UserForm. Så vi måste infoga UserForm i VBE. Gå till Infoga meny > Klicka på UserForm .
Steg 3: Så snart du sätter in en UserForm i VBA kan du se ett Toolbox-alternativ som är associerat med det och har olika alternativ associerade med UserForm.
Steg 4: I den här verktygslådan väljer du TextBox .
Steg 5: Dra denna TextBox till användarformuläret.
Steg 6: Tryck på F4 för att se egenskaperna hos UserForm (Alternativt kan du göra det genom att högerklicka på UserForm infogat). Med dessa egenskaper kan du göra några nödvändiga ändringar som att ändra namnet på UserForm för att kunna komma åt det enkelt.
Några andra grundläggande ändringar som du kan göra med egenskaperna i UserForm är som att ändra teckensnitt, ändra storlek osv.
Steg 7: Mata in texten som " Välkommen till VBA TextBox! ”I TextBox under UserForm.
Så här kan du skapa en VBA TextBox.
Exempel 2 - Ställa in värde på VBA TextBox
Låt oss se hur vi kan ställa in värden för TextBox. Det är ibland obligatoriskt att ställa in värdena annars, användaren kommer att mata in något av deras intresse.
Steg 1: Infoga en ny UserForm i VBE. Gå till Infoga- menyn> klicka på UserForm.
Steg 2: Från UserForm Tools, välj TextBox och dra den till UserForm.
Steg 3: Sätt in en CommandButton under UserForm på samma sätt som du lagt till TextBox.
Steg 4: Ändra bildtexten på kommandoknappen till " Skicka " under egenskaper. Du kan navigera till egenskaperna för kommandoknappen genom att högerklicka på Kommando-knappen> Klicka på Egenskaper .
Steg 5: Dubbelklicka på skicka-knappen eller högerklicka på den och välj Visa kod .
Steg 6: Infoga en kod med en ny kod i delproceduren enligt nedan.
Koda:
Privat subkommandoButton1_Click () TextBox1.Value = "Mitt namn är Lalit!" Avsluta under
Med den markerade koden kan du tilldela värdet till höger medföljande i dubbla citat till TextBox. Du kan också använda egenskapen TextBox.Text istället för TextBox.Values för att ställa in värdet för TextBox.
Steg 7: Tryck på F5 eller Run-knappen under VBE för att köra den här koden, du ser en UserForm med tom TextBox. Så snart du trycker på skicka-knappen visas texten tilldelad TextBox där i den.
Exempel 3 - Begränsa TextBox-ingång för att endast acceptera numeriska värden
Följ stegen nedan:
Steg 1: Sätt i en ny UserForm i din VBA och lägg till TextBox i den.
Steg 2: Ändra namnet på TextBox under avsnittet Egenskaper till “ My_Age ”.
Steg 3: Dubbelklicka på TextBox eller högerklicka på den och välj Visa kod .
Du kommer att kunna se den första delproceduren enligt nedan:
Koda:
Privat sub My_Age_Change () Avsluta sub
Steg 4: Försök nu lägga till en If-villkor som börjar med If Not.
Koda:
Private Sub My_Age_Change () If Not End Sub
Steg 5: Be kompilatorn att kontrollera om värdet på TextBox “My_Age” är numeriskt eller inte använder IsNumeric nyckelord framför om inte villkoret.
Koda:
Private Sub My_Age_Change () If Not IsNumeric (My_Age.Value) End Sub
Steg 6: Som varje IF-tillstånd ber om det, lägg till ett sedan- nyckelord för det.
Koda:
Private Sub My_Age_Change () If Not IsNumeric (My_Age.Value) Sluta sedan Sub
I den här kodkoden ber du kompilatorn om att kontrollera om det värde som användaren har matat in under TextBox är numeriskt eller inte. Om det inte är numeriskt, vad ska jag göra? Följ nästa steg.
Steg 7: Lägg till en kommentar med "MsgBox med" MsgBox! Endast siffror är tillåtna. ”Visas om värdet i TextBox inte är numeriskt.
Koda:
Privat sub My_Age_Change () If Not IsNumeric (My_Age.Value) Sedan MsgBox "Tyvärr! Endast siffror är tillåtna." Avsluta under
Steg 8: Stäng nu detta IF-uttalande med nyckelordet End IF.
Koda:
Privat sub My_Age_Change () If Not IsNumeric (My_Age.Value) Sedan MsgBox "Tyvärr! Endast siffror är tillåtna." Avsluta om slut Sub
Steg 9: Kör nu den här koden genom att slå F5-knappen från tangentbordet eller Kör-knappen från VBE och se utgången. Du får en TextBox som visas nedan:
Nu försöker jag skriva in ett heltal i det och se om det faktiskt tillåter mig att mata in samma eller inte.
Bingo, det låter mig lagra heltalsvärdet.
Låt oss nu försöka lägga till lite float (värde med decimalpunkter) i denna textruta och se om det tillåter oss att mata in samma.
Låt oss kryssa för om den här textrutan tillåter oss att lagra några negativa värden under den eller inte. Jag skriver något negativt nummer och kontrollerar.
Väl! Väl!! Tja !!!, det skjuter ett meddelande som säger att bara siffror är tillåtna. Det hände eftersom den här koden som ursprungligen är skriven är med IF-tillstånd, den har ingen lösning vad man ska göra om antalet inte är positivt. Dessutom kan ålder inte vara negativ. Rätt? Därför får jag ett varningsmeddelande som du kan se ovan. Men om du klickar på OK i meddelanderutan och försöker mata in numret tillåter det att göra det. Men jag kommer inte att rekommendera att bryta reglerna där borta.
Slutligen, låt oss prova någon textsträng i rutan och se om den tillåter att samma lagras under textrutan eller inte.
Såsom med rätta förväntades, så snart jag skrev in det första strängbrevet, förhindrade systemet mig att göra det genom att kasta ett meddelande. Detta beror på att vi har nämnt ett villkor i vår kod som säger om värdet inte är numeriskt, vänligen kasta ett meddelande mot användaren som säger att endast numeriska värden är tillåtna.
Saker att komma ihåg
- VBA TextBox är ett speciellt alternativ under UserForm. Vilket är utformat för att ta input från användaren själv.
- Det finns två metoder för att ställa in värden för en TextBox: med TextBox.Text och med TextBox.Value.
- Ibland är det obligatoriskt att begränsa användarinmatningen så att vi får rätt typ av data.
Rekommenderade artiklar
Detta är en guide till VBA TextBox. Här diskuterar vi hur du skapar TextBox i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -
- Hur använder man VBA IsNumeric-funktion?
- Skapa Combo Box i Excel
- Sätt i CheckBox i Excel
- VBA UCASE-funktion i Excel
- Hur stänger jag UserForm i VBA?