Video: MS Access 2013 - 6.3 Een macro uitvoeren via het lint 2024
U kunt de InputBox-functie gebruiken om dialoogvensters toe te voegen aan uw Excel 2013-macro's. Wanneer u de macro uitvoert, zorgt deze Visual Basic-functie ervoor dat Excel een dialoogvenster voor invoer weergeeft waarin u elke titel kunt invoeren die zinvol is voor het nieuwe werkblad. De macro plaatst die tekst vervolgens in de huidige cel en formatteert deze tekst, als dat is wat u uw macro hebt getraind om vervolgens te doen.
Om te zien hoe eenvoudig het is om de InputBox-functie te gebruiken om interactiviteit toe te voegen aan een anderszins bezorgde macro, volgt u de stappen voor het converteren van de bedrijfsnaam-macro die op dit moment de tekst "Mind Over Media" invoert in een macro die u om de naam vraagt dat je wilt ingevoerd. De InputBox-functie gebruikt de volgende syntaxis:
InputBox (prompt [titel] [standaard] [xpos] [ypos] [helpbestand, context])
In deze functie geeft alleen de prompt > argument is verplicht, de rest van de argumenten is optioneel. Met het argument wordt het bericht aangegeven dat in het dialoogvenster Input wordt weergegeven en waarin de gebruiker wordt gevraagd een nieuwe waarde in te voeren (of in dit geval een nieuwe bedrijfsnaam). Het argument
kan maximaal 1, 024 tekens bevatten. Als u wilt dat het promptbericht op verschillende regels in het dialoogvenster verschijnt, voert u de functies Chr (13) en Chr (10) in de tekst in (om respectievelijk een carriage return en een linefeed in het bericht in te voegen).
title geeft aan welke tekst moet worden weergegeven in de titelbalk van het dialoogvenster Input. Als u geen argument title opgeeft, geeft Excel de naam van de toepassing op de titelbalk weer. Het optionele standaard -argument geeft het standaardantwoord aan dat automatisch wordt weergegeven in het tekstvak onder aan het dialoogvenster Input. Als u geen standaardargument opgeeft, is het tekstvak leeg in het dialoogvenster Input.
xpos en ypos specificeren de horizontale afstand vanaf de linkerrand van het scherm tot de linkerrand van het dialoogvenster en de verticale afstand van de bovenrand van het scherm naar de bovenrand van het dialoogvenster. Als u deze argumenten niet opgeeft, centreert Excel het invoerdialoogvenster horizontaal en plaatst het ongeveer een derde van de verticale weg naar beneden op het scherm. De
helpfile en context optionele argumenten specificeren de naam van het aangepaste Help-bestand dat u beschikbaar stelt aan de gebruiker om de werking van het Input-dialoogvenster en het type uit te leggen van gegevens die het accepteert. Als onderdeel van het maken van een aangepast Help-bestand voor gebruik in het Excel Help-systeem, wijst u het onderwerp een contextnummer toe dat geschikt is voor de inhoud, dat vervolgens wordt opgegeven als het argument
context voor de InputBox-functie. Wanneer u een Help-bestand en
context -argument voor deze functie opgeeft, voegt Excel een Help-knop toe aan het aangepaste invoer-dialoogvenster waarin gebruikers kunnen klikken om toegang te krijgen tot het aangepaste Help-bestand in het Help-venster. Voordat u de coderegel kunt toevoegen aan de macro met de InputBox-functie, moet u de plaats vinden in de Visual Basic-opdrachten waar de regel moet komen. Om de Mind Over Media-tekst in de actieve cel in te voeren, gebruikt de macro Company_Name de volgende Visual Basic-opdracht:
ActiveCell. FormulaR1C1 = "Mind Over Media"
Om interactiviteit aan de macro toe te voegen, moet u de InputBox-functie invoegen op een regel in het codevenster rechtsboven deze ActiveCell. Formule R1C1-statement, als volgt:
Plaats het invoegpunt in het codevenster aan het begin van de ActiveCell. Formule R1C1-instructie en druk op Enter om een nieuwe regel in te voegen.
-
Nu je een nieuwe regel hebt toegevoegd, moet je het invoegpunt er naartoe verplaatsen.
Druk op de pijl-omhoogtoets om het invoegpunt aan het begin van de nieuwe regel te plaatsen.
-
Op deze regel wilt u een variabele maken die het
prompt -argument levert aan de InputBox-functie. Hiertoe geeft u de naam van de variabele op (in dit geval InputMsg) gevolgd door de huidige invoer. Zorg dat u de berichttekst aan de rechterkant van het gelijkteken plaatst in een gesloten paar dubbele aanhalingstekens. Typ de volgende code om de variabele InputMsg op regel 8 te maken en druk vervolgens op de toets Enter om een nieuwe regel te starten 9: InputMsg = "Voer de bedrijfsnaam of titel voor dit werkblad in het onderstaande tekstvak in en vervolgens klik op OK: "
-
Vervolgens maakt u een variabele genaamd InputTitle die het optionele
title
-argument levert voor de InputBox-functie. Met deze variabele wordt de tekst "Spreadsheet titel" weergegeven als de titel van het dialoogvenster Input. Nogmaals, vergeet niet de naam voor de titelbalk van het dialoogvenster tussen aanhalingstekens te plaatsen. Typ de volgende code om de variabele InputTitle op regel 9 te maken en druk vervolgens op Enter om een nieuwe regel in te voegen 10: InputTitle = "Spreadsheet Title"
-
Vervolgens maakt u een variabelenaam DefaultText die het optionele bestand heeft geleverd
standaard
-argument voor de InputBox-functie. Met deze variabele wordt de tekst "Mind Over Media" weergegeven als de standaardvermelding in het tekstvak onder aan het dialoogvenster Aangepaste bedrijfsnaaminvoer. Typ de volgende code om de variabele DefaultText op regel 10 te maken en druk vervolgens op Enter om een nieuwe regel in te voegen 11: DefaultText = "Mind Over Media"
-
Vervolgens maakt u een laatste variabele met de naam CompanyName die aangeeft de InputBox-functie als invoer (met de variabelen InputMsg, InputTitle en DefaultText die u zojuist hebt gemaakt) en slaat de resultaten van deze functie op.
Typ de volgende code om de SpreadsheetTitle-variabele te maken die de InputBox-functie gebruikt op regel 11:
SpreadsheetTitle = InputBox (InputMsg, InputTitle, DefaultText)
-
Tot slot vervangt u de waarde "Mind Over Media", in de ActiveCell.FormulaR1C1-eigenschap met de SpreadsheetTitle-variabele (waarvan de waarde wordt bepaald door wat er wordt ingevoerd in het dialoogvenster Spreadsheet Titelinvoer), waardoor deze constante in de macro effectief wordt vervangen door de middelen om deze invoer echt interactief te maken.
Selecteer "Mind Over Media" op regel 12 en vervang deze door SpreadsheetTitle (zonder aanhalingstekens).
Sla de bewerkte macro op door op de knop Opslaan op de werkbalk van Visual Basic te klikken en terug te keren naar het werkblad door op de knop Microsoft Excel weergeven te klikken of op Alt + F11 te drukken. Klik vervolgens op de knop Verbergen in de groep Venster van het tabblad BEELD.
-
Nu bent u klaar om een nieuwe werkmap te openen en de bewerkte macro uit te voeren door op Ctrl + N te drukken.
-
De afbeelding toont het codevenster met de bewerkte bedrijfsnaam-macro na het toevoegen van de instructies die hem interactief maken.
De volgende afbeelding toont het dialoogvenster Werkbladtitel in actie in het werkblad. Dit invoerdialoogvenster verschijnt nu automatisch en vraagt u om invoer telkens wanneer u de bewerkte en nu volledig interactieve versie van de Company_Name-macro uitvoert.
Om door te gaan en Mind Over Media in de huidige cel in te voeren en het vervolgens te formatteren door de rest van de macro-opdrachten te gebruiken, klikt u gewoon op OK in dit aangepaste dialoogvenster. Om de naam van een ander bedrijf in te voeren en op te maken, typt u eenvoudigweg de naam van het bedrijf (die Mind Over Media automatisch in het tekstvak vervangt) voordat u op OK klikt.