Huis Sociale Media Uitvoeren van VBA-functieprocedures in Excel 2016 - dummies

Uitvoeren van VBA-functieprocedures in Excel 2016 - dummies

Inhoudsopgave:

Video: 04/28 - Calling Sub Procedures - MS Access VBA Intermediate Tutorials 2024

Video: 04/28 - Calling Sub Procedures - MS Access VBA Intermediate Tutorials 2024
Anonim

Bij VBA-programmering retourneert een functie een waarde. U kunt functieprocedures uitvoeren en de functie in Excel 2016 aanroepen. Functies kunnen, in tegenstelling tot subprocedures, slechts op twee manieren worden uitgevoerd:

  • door de functie aan te roepen vanuit een andere subprocedure of functieprocedure

  • door de functie in een werkbladformule

Probeer deze eenvoudige functie. Voer het in een VBA-module in:

Functie CubeRoot (nummer) CubeRoot = nummer ^ (1/3) Eindfunctie

Deze functie is vrij wimpy; het berekent alleen de kubuswortel van het getal dat aan het argument is doorgegeven. Het biedt echter een startpunt voor het begrijpen van functies. Het illustreert ook een belangrijk concept over functies: hoe de waarde terug te geven. (Je weet nog wel dat een functie een waarde retourneert, toch?)

Merk op dat de enkele regel code die deel uitmaakt van deze functieprocedure een berekening uitvoert. Het resultaat van de wiskunde (getal tot het vermogen van 1/3) wordt toegewezen aan de variabele CubeRoot. Niet toevallig is CubeRoot ook de naam van de functie. Om de functie aan te geven welke waarde moet worden geretourneerd, wijst u die waarde toe aan de naam van de functie.

De functie oproepen vanuit een subprocedure

Omdat u een functie niet rechtstreeks kunt uitvoeren, moet u deze vanuit een andere procedure oproepen. Voer de volgende eenvoudige procedure in dezelfde VBA-module in die de CubeRoot-functie bevat:

SubbellerSub () Ans = CubeRoot (125) MsgBox Ans End Sub

Wanneer u de procedure CallerSub uitvoert, wordt in Excel een berichtvenster weergegeven met de waarde van de variabele Ans, die 5 is.

Hier is wat er aan de hand is: De CubeRoot-functie wordt uitgevoerd en er wordt een argument van 125 ontvangen. De berekening wordt uitgevoerd door de functiecode (met behulp van de waarde die is doorgegeven als een argument) en de geretourneerde waarde van de functie wordt toegewezen aan de Ans variabele. De functie MsgBox geeft vervolgens de waarde van de Ans-variabele weer.

Probeer het argument dat wordt doorgegeven aan de CubeRoot-functie te wijzigen en de macro CallerSub opnieuw uit te voeren. Het werkt precies zoals het zou moeten - ervan uitgaande dat je de functie een geldig argument geeft (een positief getal).

Overigens zou de procedure CallerSub een beetje vereenvoudigd kunnen zijn. De Ans-variabele is niet echt nodig, tenzij uw code die variabele later zal gebruiken. U kunt deze enkele instructie gebruiken om hetzelfde resultaat te verkrijgen:

MsgBox CubeRoot (125)

Een functie oproepen vanuit een werkbladformule

Nu is het tijd om deze VBA-functieprocedure aan te roepen vanuit een werkbladformule.Activeer een werkblad in dezelfde werkmap die de functiedefinitie van CubeRoot bevat. Voer vervolgens de volgende formule in een cel in:

= CubeRoot (1728)

De cel geeft 12 weer, wat inderdaad de kubuswortel is van 1, 728.

Zoals u zou verwachten, kunt u een celverwijzing gebruiken als het argument voor de CubeRoot-functie. Als cel A1 bijvoorbeeld een waarde bevat, kunt u = CubeRoot (A1) invoeren. In dit geval retourneert de functie het getal dat is verkregen door de kubuswortel van de waarde in A1 te berekenen.

U kunt deze functie een onbeperkt aantal keren gebruiken in het werkblad. Net als de ingebouwde functies van Excel, verschijnen uw aangepaste functies in het dialoogvenster Functie invoegen. Klik op de werkbalkknop Functie invoegen en kies de categorie Door gebruiker gedefinieerd. In het dialoogvenster Functie invoegen wordt uw eigen functie weergegeven.

De CubeRoot-functie wordt weergegeven in de categorie Door gebruiker gedefinieerd van het dialoogvenster Functie invoegen.

Volg de onderstaande stappen als u in het dialoogvenster Functie invoegen een beschrijving van de functie wilt weergeven:

  1. Kies Ontwikkelaar → Code → Macro's.

    Excel geeft het dialoogvenster Macro weer, maar CubeRoot wordt niet in de lijst weergegeven. (CubeRoot is een functieprocedure en deze lijst toont alleen subprocedures.) Geen zorgen.

  2. Typ het woord CubeRoot in het vak Macro-naam.

  3. Klik op de knop Opties.

  4. Voer een beschrijving van de functie in het vak Beschrijving in.

  5. Klik op OK om het dialoogvenster Macro-opties te sluiten.

  6. Sluit het dialoogvenster Macro door op de knop Annuleren te klikken.

    Deze beschrijvende tekst wordt nu weergegeven in het dialoogvenster Functie invoegen.

Bekijk de CubeRoot-functie die wordt gebruikt in werkbladformules.

De CubeRoot-functie gebruiken in formules.

Uitvoeren van VBA-functieprocedures in Excel 2016 - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...