Funcția Foaie de lucru VBA | Cum se folosește Foaia de lucru în VBA?

Funcții ale foii de lucru Excel VBA

Funcția foaie de lucru în VBA este utilizată atunci când trebuie să ne referim la o foaie de lucru specifică, în mod normal, atunci când creăm un modul, codul se execută în foaia activă actuală a registrului de lucru, dar dacă vrem să executăm codul în foaia de lucru specifică, folosim funcția de foaie de lucru, această funcție are diverse utilizări și aplicații în VBA.

Cel mai bun lucru despre VBA este, cum ar fi modul în care folosim formulele în foaia de lucru, în mod similar, și VBA are propriile funcții. Dacă acesta este cel mai bun, atunci are și un lucru frumos: „putem folosi funcțiile foii de lucru și în VBA”.

Da!!! Ați auzit bine, putem accesa și funcțiile foii de lucru în VBA. Putem accesa unele dintre funcțiile foii de lucru în timp ce scriem codul și îl putem face parte din codul nostru.

Cum se utilizează funcțiile foii de lucru în VBA?

Puteți descărca acest șablon VBA WorksheetFunction aici - Șablon VBA WorksheetFunction

În foaia de lucru, toate formulele încep cu semnul egal (=), în mod similar în codificarea VBA pentru a accesa formulele foii de lucru ar trebui să folosim cuvântul „Foaie de lucruFuncție”.

Înainte de a introduce orice formulă de foaie de lucru, trebuie să menționați numele obiectului „WorksheetFunction”, apoi puneți un punct (.), Apoi veți obține o listă cu toate funcțiile disponibile sub acest obiect.

În acest articol, ne vom concentra exclusiv asupra modului de utilizare a funcției foii de lucru în codificarea VBA, ceea ce va adăuga mai multă valoare cunoștințelor dvs. de codificare.

# 1 - Funcții simple ale foii de lucru SUM

Ok, pentru a începe cu funcțiile foii de lucru, aplicați funcția simplă SUM în Excel pentru a adăuga numere din foaia de lucru.

Să presupunem că aveți date lunare privind vânzările și costurile în foaia de lucru, cum ar fi cea de mai jos.

În B14 și C14 trebuie să ajungem la totalul numerelor de mai sus. Urmați pașii de mai jos pentru a începe procesul de aplicare a funcției „SUM” în Excel VBA.

Pasul 1: Creați un nume simplu de macro Excel.

Cod:

 Sub Foaie de lucru_Funcție_Exemplu1 () Încheiere sub 

Pasul 2: Deoarece avem nevoie de rezultatul din celula B14, începeți codul ca Range („B14”). Valoare =

Cod:

 Sub Foaie de lucru_Funcție_Exemplu1 () Interval ("B14"). Valoare = Sfârșit Sub 

Pasul 3: În B14 avem nevoie de valoare ca rezultat al sumei numerelor. Deci, pentru a accesa funcția SUM din foaia de lucru, începeți codul ca „Foaie de lucru”.

Cod:

Sub Foaie de lucru_Funcție_Exemplu1 () Interval ("B14"). Valoare = Foaie de lucruFuncție. Sfârșitul Sub

Pasul 4: În momentul în care puneți un punct (.), Acesta va începe să afișeze funcțiile disponibile. Deci, selectați SUMA din aceasta.

Cod:

 Sub Foaie de lucru_Funcție_Exemplu1 () Interval ("B14"). Valoare = Foaie de lucruFuncție.Sum End Sub 

Pasul 5: Dați acum referința numerelor de mai sus, adică Range („B2: B13”).

Cod:

 Sub Foaie de lucru_Funcție_Exemplu1 () Interval ("B14"). Valoare = Foaie de lucruFuncție.Sumă (Interval ("B2: B13")) Finalizare Sub 

Pasul 6: în mod similar pentru următoarea coloană, aplicați codul similar schimbând referințele celulei.

Cod:

 Sub Foaie de lucru_Funcție_Exemplu1 () Interval ("B14"). Valoare = Foaie de lucruFuncție.Sumă (Interval ("B2: B13")) Interval ("C14"). Valoare = Foaie de lucruFuncție.Sumă (Interval ("C2: C13")) Finalizare Sub 

Pasul 7: Acum rulați acest cod manual sau utilizând tasta F5 pentru a avea un total în celulele B14 și C14.

Uau, avem valorile noastre. Un lucru pe care trebuie să-l observați aici este că nu avem nicio formulă în foaia de lucru, dar tocmai am obținut rezultatul funcției „SUM” în VBA.

# 2 - Folosiți VLOOKUP ca funcție de foaie de lucru

Vom vedea cum să folosim VLOOKUP în VBA. Să presupunem mai jos datele pe care le aveți în foaia dvs. Excel.

În celula E2 ați creat o listă derulantă cu toate zonele.

Pe baza selecției pe care ați făcut-o în celula E2, trebuie să preluăm codul PIN pentru zona respectivă. Dar de data aceasta prin VBA VLOOKUP, nu prin foaia de lucru VLOOKUP. Urmați pașii de mai jos pentru a aplica VLOOKUP.

Pasul 1: Creați un nume de macro simplu în Procedura secundară.

Cod:

 Sub Foaie de lucru_Funcție_Exemplu2 () Sfârșit 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 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.