Innehållsförteckning:
- Infoga ett nytt UserForm
- Lägga till kontroller till en UserForm
- Varje kontroll du lägger till i en UserForm har egenskaper som bestämmer hur kontrollen ser ut eller beter sig. Dessutom har UserForm själv sin egen uppsättning egenskaper. Du kan ändra dessa egenskaper med fönstret Egenskaper Egenskaper. Detta visar egenskapsfönstret när en kommandoknappkontroll väljs.
- Varje UserForm-objekt har en kodmodul som innehåller VBA-koden (händelsehanteringsprocedurerna) som körs när användaren arbetar med dialogrutan. För att visa kodmodulen, tryck F7. Kodfönstret är tomt tills du lägger till några procedurer. Tryck på Shift + F7 för att återgå till dialogrutan.
- Du visar en UserForm genom att använda MethodForms Show-metoden i en VBA-procedur.
- VBE ger ett namn för varje kontroll du lägger till i en UserForm. Kontrollens namn motsvarar egenskapen Namn. Använd det här namnet för att hänvisa till en viss kontroll i din kod. Om du till exempel lägger till en Checkbox-kontroll i en UserForm-namnet UserForm1, är CheckBox-kontrollen som standard CheckBox1. Du kan använda rutan Egenskaper så att den här kontrollen visas med en markering. Eller du kan skriva kod för att göra det:
Video: Top 25 Excel 2016 Tips and Tricks 2024
Varje Excel-dialogruta som du skapar i VBA lagras i sitt eget UserForm-objekt - en dialogruta per UserForm. Du skapar och öppnar dessa UserForms i Visual Basic Editor.
Infoga ett nytt UserForm
Sätt in ett UserForm-objekt genom att följa dessa steg:
-
Aktivera VBE genom att trycka på Alt + F11.
-
Välj arbetsbok som håller UserForm i projektfönstret.
-
Välj Infoga → UserForm.
VBE infogar ett nytt UserForm-objekt som innehåller en tom dialogruta.
Här är en UserForm - en tom dialogruta. Ditt jobb, om du väljer att acceptera det, är att lägga till några kontroller till denna UserForm.
Ett nytt UserForm-objekt.Lägga till kontroller till en UserForm
När du aktiverar en UserForm, visar VBE verktygslådan i ett flytande fönster. Du använder verktygen i Verktygslådan för att lägga till kontroller i din UserForm. Om verktygslådan av någon anledning inte visas när du aktiverar din UserForm väljer du Visa → Verktygslåda.
För att lägga till en kontroll, klicka bara på önskad kontroll i Verktygslådan och dra den till dialogrutan för att skapa kontrollen. När du har lagt till en kontroll kan du flytta och ändra storlek på det med hjälp av standardtekniker.
Här är en lista över de olika verktygen, liksom deras förmåga.
Kontroll | Vad det gör |
---|---|
Etikett | Visar text |
TextBox | Tillåter användaren att skriva in text |
ComboBox | Visar en listruta |
ListBox < Visar en lista med artiklar | Checkbox |
Ger alternativ som på / av eller ja / nej | Alternativknapp |
Tillåter att användaren väljer ett av flera alternativ; Används i | grupper med två eller flera
ToggleButton |
Gör det möjligt för användaren att slå på eller av en knapp | Ram |
Innehåller andra kontroller | Kommandoknapp |
En klickbar knapp | TabStrip |
Visar flikar | MultiPage |
En flikbehållare för andra objekt | ScrollBar |
Gör det möjligt för användaren att dra en stapel för att skapa en inställning | SpinButton |
Gör det möjligt för användaren att klicka på en knappen för att ändra ett värde | Bild |
Håller en bild | RefEdit |
Tillåter användaren att välja ett intervall | Ändra egenskaper för en UserForm-kontroll |
Varje kontroll du lägger till i en UserForm har egenskaper som bestämmer hur kontrollen ser ut eller beter sig. Dessutom har UserForm själv sin egen uppsättning egenskaper. Du kan ändra dessa egenskaper med fönstret Egenskaper Egenskaper. Detta visar egenskapsfönstret när en kommandoknappkontroll väljs.
Använd Egenskaper-fönstren för att ändra egenskaper för UserForm-kontrollerna.
Fönstret Egenskaper visas när du trycker på F4, och egenskaperna som visas i det här fönstret beror på vad som valts.Om du väljer en annan kontroll ändras egenskaperna till de som är lämpliga för den kontrollen. Om du vill dölja fönstret Egenskaper och få det ur vägen klickar du på knappen Stäng i dess menyfält. Genom att trycka på F4 kommer det alltid tillbaka när du behöver det.Egenskaper för kontroller inkluderar följande:
Namn
-
Bredd
-
Höjd
-
Värde
-
Bildtext
-
Varje kontroll har sin egen uppsättning egenskaper (även om många kontroller har några vanliga egenskaper). För att ändra en egenskap genom att använda fönstret Egenskaper, följ dessa steg:
Kontrollera att rätt kontroll har valts i UserForm.
-
Se till att fönstret Egenskaper är synligt.
-
Klicka på egenskapen som du vill ändra i fönstret Egenskaper.
-
Gör ändringen i den högra delen av fönstret Egenskaper.
-
Om du väljer själva UserForm (inte en kontroll på UserForm) kan du använda Egenskaper-fönstret för att justera UserForm-egenskaper.
Visa användarnamnskodfönstret
Varje UserForm-objekt har en kodmodul som innehåller VBA-koden (händelsehanteringsprocedurerna) som körs när användaren arbetar med dialogrutan. För att visa kodmodulen, tryck F7. Kodfönstret är tomt tills du lägger till några procedurer. Tryck på Shift + F7 för att återgå till dialogrutan.
Här är ett annat sätt att växla mellan kodfönstret och UserForm-displayen: Använd Visa-koden och Visa objektknapparna i fältets projektfält. Eller högerklicka på UserForm och välj Visa kod. Om du tittar på kod dubbelklickar du på UserForm-namnet i projektfönstret för att återgå till UserForm.
Visar en UserForm
Du visar en UserForm genom att använda MethodForms Show-metoden i en VBA-procedur.
Makroet som visar dialogrutan måste vara i en VBA-modul - inte i kodfönstret för UserForm.
Följande procedur visar dialogrutan namnet UserForm1:
Sub ShowDialogBox () UserForm1. Visa "Andra uttalanden kan gå här Avsluta Sub
När Excel visar dialogrutan stannar Makro ShowDialogBox tills användaren stänger dialogrutan. Sedan utför VBA eventuella återstående uttalanden i förfarandet. För det mesta har du inte längre någon kod i proceduren. Som du ser senare lägger du dina händelsehanteringsprocedurer i kodfönstret för UserForm. Dessa procedurer startar när användaren arbetar med kontrollerna på UserForm.
Använda information från en UserForm
VBE ger ett namn för varje kontroll du lägger till i en UserForm. Kontrollens namn motsvarar egenskapen Namn. Använd det här namnet för att hänvisa till en viss kontroll i din kod. Om du till exempel lägger till en Checkbox-kontroll i en UserForm-namnet UserForm1, är CheckBox-kontrollen som standard CheckBox1. Du kan använda rutan Egenskaper så att den här kontrollen visas med en markering. Eller du kan skriva kod för att göra det:
UserForm1. CheckBox1. Value = True
För det mesta skriver du koden för en UserForm i UserForms kodmodul. Om så är fallet kan du släppa UserForm-objektkvalificatorn och skriva uttalandet så här:
CheckBox1.Value = True
Din VBA-kod kan också kontrollera olika egenskaper hos kontrollerna och vidta lämpliga åtgärder. Följande uttalande utför ett makro med namnet PrintReport om kryssrutan (med namnet CheckBox1) är markerad:
Om CheckBox1. Value = True Då Ring PrintReport
Det är vanligtvis en bra idé att ändra det standardnamn som VBE har gett till dina kontroller till något mer meningsfullt.