VBA munkalap funkció | Hogyan kell használni a WorksheetFunction-t a VBA-ban?

Excel VBA munkalapfunkciók

A VBA munkalapfüggvénye akkor használható, amikor egy adott munkalapra kell hivatkoznunk, általában amikor létrehozunk egy modult, a kód végrehajtja a munkafüzet aktuálisan aktív lapján, de ha a kódot az adott munkalapon akarjuk végrehajtani, akkor munkalapfüggvényt használunk, ennek a funkciónak számos felhasználása és alkalmazása van a VBA-ban.

A legjobb dolog a VBA-ban, például, hogy miként használjuk a képleteket a munkalapon, hasonlóan a VBA-nak is megvannak a maga funkciói. Ha ez a legjobb, akkor van egy szép dolga is, vagyis „használhatunk munkalapfunkciókat a VBA-ban is”.

Igen!!! Jól hallotta, hozzáférhetünk a VBA munkalapfüggvényeihez is. A munkalap egyes funkcióihoz a kód írása közben férhetünk hozzá, és a kódunk részévé tehetjük.

Hogyan kell használni a munkalapfunkciókat a VBA-ban?

Ezt a VBA WorksheetFunction sablont innen töltheti le - VBA WorksheetFunction Template

A munkalapon az összes képlet egyenlő (=) jellel kezdődik, hasonlóan a VBA kódoláshoz is, hogy hozzáférjünk a munkalap képletéhez, a „WorksheetFunction” szót kell használnunk .

Mielőtt bármilyen munkalap képletet beírna, meg kell említenie a „WorksheetFunction” objektum nevét, majd tegyen egy pontot.

Ebben a cikkben kizárólag arra fogunk koncentrálni, hogy miként lehet használni a munkalap funkciót a VBA kódolásban, ami nagyobb értéket ad a kódolási ismereteinek.

# 1 - Egyszerű SUM munkalapfunkciók

Ok, a munkalap függvényekkel kezdve alkalmazza az egyszerű SUM függvényt az excelben, hogy számokat adjon hozzá a munkalapból.

Tegyük fel, hogy a munkalapon havi értékesítési és költségadatok vannak, mint az alábbiakban.

A B14-ben és a C14-ben el kell jutnunk a fenti számok összegéhez. Kövesse az alábbi lépéseket a „SUM” függvény alkalmazásának elindításához az Excel VBA alkalmazásban.

1. lépés: Hozzon létre egy egyszerű Excel makrónevet.

Kód:

 Al munkalap_Funkció_Példa1 () Vége al 

2. lépés: Mivel szükségünk van az eredményre a B14 cellában, indítsuk el a kódot tartományként („B14”). Érték =

Kód:

 Almunkalap_Funkció_Példa1 () Tartomány ("B14"). Érték = Vége al 

3. lépés: A B14-ben az értékre a számok összegének eredményeként van szükségünk. Tehát a SUM függvény munkalapról történő eléréséhez indítsa el a kódot „WorksheetFunction” néven.

Kód:

Almunkalap_Funkció_Példa1 () Tartomány ("B14"). Érték = Munkalapfunkció. End Sub

4. lépés: Abban a pillanatban, hogy egy pontot (.) Tesz, megjelenik a rendelkezésre álló funkciók. Tehát válassza ki a SUM-ot ebből.

Kód:

 Al Munkalap_Funkció_Példa1 () Tartomány ("B14"). Érték = Munkalap Funkció.Sum Vége Al 

5. lépés: Most adja meg a fenti számok referenciáját, azaz Tartományt („B2: B13”).

Kód:

 Munkalap_Funkció_Példa1 () Tartomány ("B14"). Érték = MunkalapFunkció.Sum (Tartomány ("B2: B13")) Vége 

6. lépés: A következő oszlophoz hasonlóan alkalmazza a hasonló kódot a cellahivatkozások megváltoztatásával.

Kód:

 Al Munkalap_Funkció_Példa1 () Tartomány ("B14"). Érték = Munkalap Funkció.Összeg (Tartomány ("B2: B13")) Tartomány ("C14"). Érték = Munkalap Funkció.Sum (Tartomány ("C2: C13")) Vége Al 

7. lépés: Most futtassa ezt a kódot manuálisan, vagy az F5 billentyű használatával, hogy a B14 és C14 cellákban összesen legyen.

Hú, megkaptuk az értékeinket. Egy dolgot kell észrevenned, hogy nincs semmilyen képlet a munkalapon, de a VBA „SUM” funkciójának eredményét kaptuk.

# 2 - A VLOOKUP használata munkalapfüggvényként

Meglátjuk, hogyan kell használni a VLOOKUP-ot a VBA-ban. Tegyük fel, hogy az alábbiakban láthatja azokat az adatokat, amelyek az excel lapján vannak.

Az E2 cellában létrehozott egy legördülő listát az összes zónáról.

Az E2 cellában végzett kiválasztás alapján be kell szereznünk a PIN kódot az adott zónához. De ezúttal a VBA VLOOKUP segítségével, nem a VLOOKUP munkalapon keresztül. Kövesse az alábbi lépéseket a VLOOKUP alkalmazásához.

1. lépés: Hozzon létre egy egyszerű makrónevet a Sub eljárásban.

Kód:

 Al munkalap_Funkció_Példa2 () Vége al 

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 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 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.