VBA-arbetsbladets funktion

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, denna funktion 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 har VBA också sina egna funktioner. Om detta är bäst så har det också en vacker sak som ä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?

Du kan ladda ner denna VBA WorksheetFunction-mall här - VBA WorksheetFunction-mall

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 går in i någon form av kalkylblad måste du nämna "WorksheetFunction" -objektnamnet 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 kalkylbladfunktion i VBA-kodning vilket ger ditt kodkunskap mer värde.

# 1 - Enkla SUM-arbetsbladets funktioner

Okej, 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 startar du 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 SUM från detta.

Koda:

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

Steg 5: Ge nu referens för ovanstående siffror, dvs. Range (“B2: B13”).

Koda:

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

Steg 6: Använd på samma sätt för nästa kolumn samma 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.

Baserat på det val du gjorde i E2-cellen måste vi hämta PIN-koden för respektive zon. Men den här gången genom VBA VLOOKUP, inte kalkylblad VLOOKUP. Följ stegen nedan för att tillämpa VLOOKUP.

Steg 1: Skapa ett enkelt makronamn i underproceduren.

Koda:

 Underarbetsblad_Funktion_Exempel2 () Avsluta sub 

Steg 2: Vi behöver resultatet i F2-cellen. Så starta koden som Range (“F2”) Värde =

Koda:

 Sub Worksheet_Function_Example2 () Range ("F2"). Värde = Slut Sub 

Steg 3: För att komma åt kalkylbladets funktion startar VLOOKUP koden som "WorksheetFunction.VLOOKUP".

Koda:

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

Steg 4: Ett av problemen här är syntax ger dig ingen vägledning för att arbeta med VLOOKUP. Du måste vara helt säker på den syntax du arbetar med.

Den första syntaxen för VLOOKUP är ”Lookup Value”. I det här fallet är vårt uppslagsvärde E2-cellvärde, så skriv koden som Range (“E2”)

Koda:

 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 F5 key or manually to get the pin code of the selected zone.

We cannot go back and run the macro every time, so let’s assign a macro to shapes. Insert one of the shapes in a worksheet.

Add a text value to inserted shape.

Now right click and assign the macro name to this shape.

Click on ok after selecting the macro name.

Now, this shape holds the code of our VLOOKUP formula. So whenever you change the zone name click on the button, it will update the values.

Things to Remember

  • To access worksheet functions we need to write the word “WorksheetFunction” or “Application.WorksheetFunction”
  • We don’t have access to all the functions only a few.
  • We don’t see the actual syntax of worksheet functions, so we need to be absolutely sure of the function we are using.