Du kan använda InputBox-funktionen för att lägga till dialogrutor till dina Excel 2013-makron. När du kör makrot får den här Visual Basic-funktionen att Excel visar en dialogruta för inmatning där du kan ange vilken titel som helst för det nya kalkylbladet. Makrot lägger sedan in den texten i den aktuella cellen och formaterar den här texten, om det är vad du har tränat ditt makro att göra härnäst.
För att se hur enkelt det är att använda InputBox-funktionen för att lägga till interaktivitet till ett annars stabilt makro, följ stegen för att konvertera Makro Företagsnamn som för närvarande matar in texten "Mind Over Media" till ett som faktiskt ber dig om det namn du vill ha gick in i. InputBox-funktionen använder följande syntax:
InputBox(prompt[,titel][,standard][,xpos][,ypos][,hjälpfil,kontext])
I den här funktionen krävs endast promptargumentet och resten av argumenten är valfria. Den snabba argument anger meddelandet som visas inne i dialoginmatningsrutan som uppmanar användaren att ange ett nytt värde (eller i detta fall, ett nytt företagsnamn).
Den snabba argument kan vara upp till ett maximum av 1024 tecken. Om du vill att promptmeddelandet ska visas på olika rader inuti dialogrutan anger du funktionerna Chr(13) och Chr(10) i texten (för att infoga en vagnretur respektive en radmatning i meddelandet).
De valfria titel argument anges vilken text som ska visas i namnlisten i dialogrutan inmatningsrutan. Om du inte anger en titel argument, visar Excel namnet på programmet på namnlisten. Det valfria standardargumentet anger standardsvaret som automatiskt visas i textrutan längst ned i dialogrutan Inmatning.
Om du inte anger ett standardargument är textrutan tom i dialogrutan Inmatning.
De valfria argumenten xpos och ypos anger det horisontella avståndet från skärmens vänstra kant till dialogrutans vänstra kant och det vertikala avståndet från skärmens överkant till dialogrutans övre kant. Om du inte anger dessa argument centrerar Excel inmatningsdialogrutan horisontellt och placerar den ungefär en tredjedel av skärmen vertikalt.
De Hjälpfil och kontext valfria argument ange namnet på den anpassade hjälpfilen som du gör tillgängliga för användaren att förklara arbetet i Input dialogrutan liksom vilken typ av data som den tar emot.
Som en del av processen att skapa en anpassad hjälpfil för användning i Excel-hjälpsystemet tilldelar du ämnet ett kontextnummer som är lämpligt för dess innehåll, vilket sedan anges som sammanhangsargument för InputBox-funktionen.
När du anger en hjälpfil och ett sammanhangsargument för den här funktionen lägger Excel till en hjälpknapp i den anpassade inmatningsdialogrutan som användare kan klicka på för att komma åt den anpassade hjälpfilen i hjälpfönstret.
Innan du kan lägga till kodraden i makrot med InputBox-funktionen måste du hitta platsen i Visual Basic-kommandona där raden ska gå. För att skriva in Mind Over Media-texten i den aktiva cellen använder makrot Företagsnamn följande Visual Basic-kommando:
ActiveCell.FormulaR1C1 = "Mind Over Media"
För att lägga till interaktivitet till makrot måste du infoga InputBox-funktionen på en rad i kodfönstret precis ovanför denna ActiveCell.FormulaR1C1-sats, enligt följande:
Placera insättningspunkten i kodfönstret i början av ActiveCell.FormulaR1C1-satsen och tryck på Enter för att infoga en ny rad.
Nu när du har lagt till en ny rad måste du flytta insättningspunkten upp till den.
Tryck på uppåtpilen för att placera insättningspunkten i början av den nya raden.
På den här raden vill du skapa en variabel som tillhandahåller promptargumentet till InputBox-funktionen. För att göra detta anger du namnet på variabeln (InputMsg i det här fallet) följt av dess aktuella post. Var noga med att omge meddelandetexten till höger om likhetstecknet i ett stängt par dubbla citattecken.
Skriv in följande kod för att skapa InputMsg-variabeln på rad 8 och tryck sedan på Enter för att starta en ny rad 9:
InputMsg = "Ange företagsnamnet eller titeln för detta kalkylblad i textrutan nedan och klicka sedan på OK:"
Därefter skapar du en variabel som heter InputTitle som förser valfria titel argument för InputBox funktionen. Denna variabel gör att texten "Spreadsheet Title" visas som titeln på dialogrutan Inmatning. Återigen, se till att omge namnet för dialogrutans titelfält inom citattecken.
Skriv följande kod för att skapa variabeln InputTitle på rad 9 och tryck sedan på Enter för att infoga en ny rad 10:
InputTitle = "Kalkylbladstitel"
Därefter skapar du ett variabelnamn DefaultText som tillhandahöll det valfria standardargumentet till InputBox-funktionen. Den här variabeln gör att texten "Mind Over Media" visas som standardposten i textrutan längst ned i den anpassade inmatningsdialogrutan för företagsnamn.
Skriv följande kod för att skapa variabeln DefaultText på rad 10 och tryck sedan på Enter för att infoga en ny rad 11:
DefaultText = "Mind Over Media"
Därefter skapar du en slutlig variabel med namnet CompanyName som anger InputBox-funktionen som dess post (med variablerna InputMsg, InputTitle och DefaultText som du just skapade) och lagrar resultaten av denna funktion.
Skriv följande kod för att skapa SpreadsheetTitle-variabeln som använder InputBox-funktionen på rad 11:
SpreadsheetTitle = InputBox(InputMsg, InputTitle, DefaultText)
Slutligen ersätter du värdet, "Mind Over Media", i egenskapen ActiveCell.FormulaR1C1 med variabeln SpreadsheetTitle (vars värde bestäms av vad som än matas in i dialogrutan Spreadsheet Title Input), vilket effektivt ersätter denna konstant i makrot med sättet att göra denna inmatning verkligt interaktiv.
Välj "Mind Over Media" på rad 12 och ersätt det med SpreadsheetTitle (utan citattecken).
Spara det redigerade makrot genom att klicka på knappen Spara i Visual Basic-verktygsfältet och återgå sedan till kalkylbladet genom att klicka på knappen Visa Microsoft Excel eller trycka på Alt+F11. Klicka sedan på knappen Göm i gruppen Fönster på fliken VISA.
Nu är du redo att öppna en ny arbetsbok och köra det redigerade makrot genom att trycka på Ctrl+N.
Bilden visar kodfönstret med det redigerade Makrot Företagsnamn efter att de satser som gör det interaktivt lagts till.

Följande bild visar dialogrutan Kalkylbladsrubrik i funktion i kalkylbladet. Den här inmatningsdialogrutan visas nu automatiskt och ber dig om inmatning när du kör den redigerade och nu helt interaktiva versionen av makrot Företagsnamn.

För att gå vidare och skriva in Mind Over Media i den aktuella cellen och sedan formatera den med hjälp av resten av makrokommandon, klickar du bara på OK i den här anpassade dialogrutan. För att ange och formatera namnet på ett annat företag skriver du helt enkelt in namnet på företaget (som automatiskt ersätter Mind Over Media i textrutan) innan du klickar på OK.