VBA-arbetsbladets funktion - Hur använder jag WorksheetFunction i VBA?

Innehållsförteckning

Excel VBA-arbetsbladets funktioner

Kalkylbladfunktion i VBA används när vi måste hänvisa till ett specifikt kalkylblad, normalt när vi skapar en modul kör koden i det aktuella aktiva arket i arbetsboken, men om vi vill köra koden i det specifika kalkylbladet använder vi kalkylfunktionen, den här funktionen har olika användningsområden och applikationer i VBA.

Det bästa med VBA är, som hur vi använder formler i kalkylbladet på samma sätt, också VBA har sina egna funktioner. Om det här är det bästa, har det också en vacker sak. Det är "vi kan också använda kalkylfunktioner i VBA."

Ja!!! Du hörde det rätt; vi kan också komma åt kalkylbladets funktioner i VBA. Vi kan komma åt några av kalkylbladets funktioner när vi skriver koden och gör den till en del av vår kod.

Hur använder jag kalkylfunktioner i VBA?

I kalkylbladet börjar alla formler med likhetstecken (=), på samma sätt i VBA-kodning, för att komma åt kalkylformler, bör vi använda ordet "WorksheetFunction."

Innan du anger någon form av kalkylblad måste du nämna objektnamnet “WorksheetFunction” och sedan lägga en punkt (.), Så får du en lista över alla tillgängliga funktioner under detta objekt.

I den här artikeln kommer vi uteslutande att koncentrera oss på hur man använder kalkylfunktioner i VBA-kodning, vilket ger ditt kodkunskap mer värde.

# 1 - Enkla funktioner för SUM-arbetsblad

Ok, för att börja med kalkylfunktioner, använd den enkla SUM-funktionen i excel för att lägga till nummer från kalkylbladet.

Antag att du har månadsvis försäljnings- och kostnadsdata i kalkylbladet som nedan.

I B14 och C14 måste vi komma fram till summan av ovanstående siffror. Följ stegen nedan för att starta processen för att tillämpa “SUM” -funktionen i Excel VBA.

Steg 1: Skapa ett enkelt, excel makronamn.

Koda:

Underarbetsblad_Funktion_Exempel1 () Avsluta sub

Steg 2: Eftersom vi behöver resultatet i cell B14, starta koden som Range (“B14”). Värde =

Koda:

Sub Worksheet_Function_Example1 () Range ("B14"). Värde = Slut Sub

Steg 3: I B14 behöver vi värdet som resultatet av summan av siffrorna. Så för att komma åt SUM-funktionen från kalkylbladet, starta koden som "WorksheetFunction."

Koda:

Under Arbetsblad_Funktion_Exempel1 () Område ("B14"). Värde = KalkylbladFunktion. Avsluta sub

Steg 4: När du sätter en punkt (.) Börjar de tillgängliga funktionerna visas. Så välj SUMMA från detta.

Koda:

Sub Worksheet_Function_Example1 () Range ("B14"). Värde = WorksheetFunction.Sum End Sub

Steg 5: Ge nu referensen till ovanstående siffror, dvs. Range (“B2: B13”).

Koda:

Sub Worksheet_Function_Example1 () Range ("B14"). Value = WorksheetFunction.Sum (Range ("B2: B13")) End Sub

Steg 6: På samma sätt, för nästa kolumn, använd en liknande kod genom att ändra cellreferenser.

Koda:

Sub Worksheet_Function_Example1 () Range ("B14"). Value = WorksheetFunction.Sum (Range ("B2: B13")) Range ("C14"). Value = WorksheetFunction.Sum (Range ("C2: C13")) End Sub

Steg 7: Kör nu den här koden manuellt eller använd F5-tangenten för att ha totalt B14 & C14-celler.

Wow, vi har våra värderingar. En sak du måste märka här är att vi inte har någon formel i kalkylbladet, men vi har precis fått resultatet av funktionen "SUM" i VBA.

# 2 - Använd VLOOKUP som en arbetsbladfunktion

Vi kommer att se hur man använder VLOOKUP i VBA. Antag att nedan är de uppgifter du har i ditt excelblad.

I E2-cellen hade du skapat en listruta med alla zoner.

Based on the selection you made in the E2 cell, we need to fetch the Pin Code for the respective zone. But this time through VBA VLOOKUP, not worksheet VLOOKUP. Follow the below steps to apply VLOOKUP.

Step 1: Create a simple macro name in the Sub Procedure.

Code:

Sub Worksheet_Function_Example2() End Sub

Step 2: We need the result in the F2 cell. So start the code as Range (“F2”).Value =

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = End Sub

Step 3: To access the worksheet function, VLOOKUP starts the code as “WorksheetFunction.VLOOKUP.”

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup( End Sub

Step 4: One of the problems here is syntax will not give you any sort of guidance to work with VLOOKUP. You need to be absolutely sure about the syntax you are working on.

The first syntax of VLOOKUP is “Lookup Value.” In this case, our lookup value is E2 cell value, so write the code as Range (“E2”).Value

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value, End Sub

Step 5: Now, the second argument is our table array. In this case, our table array range is from A2 to B6. So the code will be Range (“A2:B6”)

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"), End Sub

Step 6: The Third argument will be from which column we need the data from the table array. Here we need the data from the 2nd column, so the argument will be 2.

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"),2, End Sub

Step 7: The final argument is range lookup, we need an exact match, so the argument is zero (0).

Code:

Sub Worksheet_Function_Example2() Range("F2").Value = WorksheetFunction.VLookup(Range("E2").Value, Range("A2:B6"), 2, 0) End Sub

So, we are done with the coding part. Now go to the worksheet and select any of the range.

Now go to your coding module and run the macro Using the F5 key or manually to get the pin code of the selected zone.

Vi kan inte gå tillbaka och köra makrot varje gång, så låt oss tilldela ett makro till former. Infoga en av formerna i ett kalkylblad.

Lägg till ett textvärde i den infogade formen.

Högerklicka nu och tilldela makronamnet till denna form.

Klicka på ok efter att ha valt makronamnet.

Nu har denna form koden för vår VLOOKUP-formel. Så när du ändrar zonnamnet klickar du på knappen för att uppdatera värdena.

Saker att komma ihåg

  • För att komma åt kalkylbladets funktioner måste vi skriva ordet “WorksheetFunction” eller “Application.WorksheetFunction”.
  • Vi har inte tillgång till alla funktioner, bara några få.
  • Vi ser inte den faktiska syntaxen för kalkylbladets funktioner, så vi måste vara helt säkra på den funktion vi använder.

Intressanta artiklar...