In Excel hebben we meerdere manieren om invoer te krijgen. We kunnen invoer krijgen met behulp van functieargumenten, Excel-cellen en -bereiken gebruiken als invoergebieden en daar waarden ophalen. U kunt ook gebruikersformulieren gebruiken om input van gebruikers te krijgen. Maar Excel biedt nog een manier om input van gebruikers te krijgen. Ze heten InputBox.
Een InputBox in VBA is een soort vooraf ontworpen gebruikersformulier. U kunt een invoervak gebruiken om meerdere typen invoer te krijgen. Maar een invoer kan slechts één type invoer tegelijk krijgen. Excel heeft twee soorten invoervakken. Een daarvan is de eenvoudige InputBox en de andere is Application InputBox. Invoervak heeft meerdere argumenten om met verschillende soorten invoer om te gaan. We zullen er een aantal leren in dit artikel.
Eenvoudige VBA InputBox
Dit invoervak kan direct in VBA worden gebruikt omdat het een functie is. Deze functie vraagt een gebruikersformulier aan de gebruiker om een waarde in te voeren. De syntaxis van de InputBox-functie is:
InputBox(prompt, [Title], [Default], [Xpos], [YPos], [HelpFile], [Context]) |
snel: Het is het enige vereiste argument. Het is een tekenreeksuitdrukking die wordt weergegeven als het bericht in het dialoogvenster. De maximale lengte van de prompt is ongeveer 1024 tekens, afhankelijk van de breedte van de gebruikte tekens. Als de prompt uit meer dan één regel bestaat, kunt u de regels scheiden met een regelterugloopteken (Chr(13)), een regelinvoerteken (Chr(10)) of een regelteruglooptekencombinatie ((Chr(13) & (Chr(10)) tussen elke regel.
[titel]: Het is optioneel. Het is een tekenreeksuitdrukking die wordt weergegeven in de titelbalk van het dialoogvenster. Als u de titel weglaat, wordt de applicatienaam in de titelbalk geplaatst. Als u Excel gebruikt, wordt Microsoft Excel weergegeven.
[standaard]: Het is ook optioneel. Het is een tekenreeksexpressie die in het tekstvak wordt weergegeven als het standaardantwoord als er geen andere invoer is opgegeven. Als u standaard weglaat, wordt het tekstvak leeg weergegeven.
[xpos]: Numerieke uitdrukking die in twips de horizontale afstand van de linkerrand van het dialoogvenster vanaf de linkerrand van het scherm aangeeft. Als xpos wordt weggelaten, wordt het dialoogvenster horizontaal gecentreerd.
[ypo]: Numerieke uitdrukking die in twips de verticale afstand van de bovenrand van het dialoogvenster vanaf de bovenkant van het scherm aangeeft. Als ypos wordt weggelaten, wordt het dialoogvenster ongeveer een derde van het scherm verticaal gepositioneerd.
[helpbestand]: Tekenreeksexpressie die het Help-bestand identificeert dat moet worden gebruikt om contextgevoelige Help voor het dialoogvenster te bieden. Als een helpbestand wordt verstrekt, moet ook context worden verstrekt.
[context]: Numerieke uitdrukking die het Help-contextnummer is dat door de Help-auteur aan het juiste Help-onderwerp is toegewezen. Als context wordt verstrekt, moet ook een helpbestand worden verstrekt.
Genoeg van de theorie. Laten we enkele voorbeelden hebben om te begrijpen hoe deze inputbox-functie moet worden gebruikt.
Voorbeeld 1: Krijg input om hallo te zeggen tegen de gebruiker
Laten we zeggen dat ik wil dat mijn sub de gebruiker begroet. Dus ik zal om de naam van de gebruiker vragen en deze begroeten als "Hallo gebruikersnaam". Daarvoor gebruik ik deze code:
Sub InputBoxExample() user_name = InputBox("Voer uw naam in.") MsgBox ("Hallo " & gebruikersnaam & "!") End Sub
Wanneer u de bovenstaande code in VBA uitvoert, wordt een gebruikersformulier gevraagd met de kop "Alstublieft
Voer uw naam in." met een tekstvak hieronder.
U kunt zien dat het venster "Microsoft Excel" heet en dat het tekstvak leeg is. Omdat we die argumenten niet hebben gebruikt om hun waarde in te stellen.
Voorbeeld 2: Stel de titel van het invoervak in als Gebruiker begroeten en stel de standaardwaarde in als Gebruiker
In dit voorbeeld stellen we de titel in als begroetingsgebruiker zodat vba de toepassingsnaam niet kan tonen en we stellen de standaardwaarde in op Gebruiker zodat het tekstvak leeg is.
Sub InputBoxExample() user_name = InputBox("Voer uw naam in.", "Greet User", "Uesr") MsgBox ("Hallo " & gebruikersnaam & "!") End Sub
Wanneer u de bovenstaande code uitvoert, is dit de uitvoer die u krijgt.
De andere argumenten worden niet veel gebruikt. Ze worden in principe gebruikt om de locatie van het gebruikersformulier op de Excel-randen in te stellen. De laatste twee argumenten worden gebruikt om contextuele informatie aan de gebruiker te verstrekken.
Dus ja, nu kun je inputbox gebruiken om input van de gebruikers in Excel te krijgen met behulp van de Inputbox-functie. Ik heb Application.InputBox hier uitgelegd. Bekijk dit ook eens. Het is krachtiger dan deze inputbox-functie.
Ik hoop dat ik voldoende uitleg heb gegeven en dat het nuttig voor je was. Als je vragen hebt over dit artikel of over een ander VBA-onderwerp, laat het me dan weten in de comments hieronder.
Aan de slag met Excel VBA UserForms| Ik zal uitleggen hoe je een formulier in Excel maakt, hoe je de VBA-toolbox gebruikt, hoe je met gebruikersinvoer omgaat en tot slot hoe je de gebruikersinvoer opslaat. We zullen deze onderwerpen doornemen aan de hand van een voorbeeld en een stapsgewijze handleiding.
VBA-variabelen in Excel| VBA staat voor Visual Basic for Applications. Het is een programmeertaal van Microsoft. Het wordt gebruikt met Microsoft Office-toepassingen zoals MSExcel, MS-Word en MS-Access, terwijl VBA-variabelen specifieke trefwoorden zijn.
Excel VBA-variabel bereik| In alle programmeertalen hebben we variabele toegangsspecificaties die definiëren van waaruit toegang tot een gedefinieerde variabele kan worden verkregen. Excel VBA is geen uitzondering. VBA heeft ook scope-specificaties.
ByRef en ByVal-argumenten | Wanneer een argument als ByRef-argument wordt doorgegeven aan een andere sub of functie, wordt de referentie van de werkelijke variabele verzonden. Alle wijzigingen die in de kopie van de variabele zijn aangebracht, worden weerspiegeld in het oorspronkelijke argument.
Bladen verwijderen zonder bevestigingsvragen met VBA in Microsoft Excel | Aangezien u bladen verwijdert met VBA, weet u wat u doet. U wilt Excel vertellen deze waarschuwing niet te tonen en dat verdomde blad te verwijderen.
Nieuwe werkmap toevoegen en opslaan met VBA in Microsoft Excel 2016| In deze code hebben we eerst een verwijzing naar een werkmapobject gemaakt. En toen hebben we het geïnitialiseerd met een nieuw werkmapobject. Het voordeel van deze aanpak is dat u eenvoudig bewerkingen op deze nieuwe werkmap kunt uitvoeren. Zoals opslaan, sluiten, verwijderen, etc
Geef een bericht weer op de Excel VBA-statusbalk| De statusbalk in Excel kan worden gebruikt als codemonitor. Wanneer uw VBA-code lang is en u verschillende taken uitvoert met VBA, schakelt u vaak de schermupdate uit zodat u dat scherm niet ziet flikkeren.
Schakel waarschuwingsberichten uit met VBA in Microsoft Excel 2016| Deze code schakelt niet alleen VBA-waarschuwingen uit, maar verhoogt ook de tijdefficiëntie van de code. Laten we eens kijken hoe.
Populaire artikels:
50 Excel-snelkoppelingen om uw productiviteit te verhogen | Word sneller in uw taak. Met deze 50 sneltoetsen werk je nog sneller in Excel.
De VERT.ZOEKEN-functie in Excel | Dit is een van de meest gebruikte en populaire functies van Excel die wordt gebruikt om waarde op te zoeken uit verschillende bereiken en bladen.
AANTAL.ALS in Excel 2016 | Tel waarden met voorwaarden met behulp van deze geweldige functie. U hoeft uw gegevens niet te filteren om specifieke waarden te tellen. Countif-functie is essentieel om uw dashboard voor te bereiden.
Hoe de SUMIF-functie in Excel te gebruiken? | Dit is een andere essentiële functie van het dashboard. Dit helpt u bij het optellen van waarden voor specifieke voorwaarden.