Funkce listu VBA - Jak používat WorksheetFunction ve VBA?

Funkce listu Excel VBA

Funkce listu ve VBA se používá, když musíme odkazovat na konkrétní list, obvykle když vytváříme modul, kód se spustí v aktuálně aktivním listu sešitu, ale pokud chceme kód spustit v konkrétním listu, použijeme funkci listu, tato funkce má různé použití a aplikace ve VBA.

Nejlepší věc na VBA je, stejně jako podobně používáme vzorce v listu, i VBA má své vlastní funkce. Pokud je to nejlepší, pak má také krásnou věc. To znamená, že „můžeme používat funkce listu i ve VBA.“

Ano!!! Slyšeli jste to správně; můžeme také přistupovat k funkcím listu ve VBA. Během psaní kódu můžeme přistupovat k některým funkcím listu a učinit jej součástí našeho kódu.

Jak používat funkce listu ve VBA?

V listu začínají všechny vzorce znakem rovná se (=), podobně jako v kódování VBA, abychom měli přístup k vzorcům v listu, měli bychom použít slovo „WorksheetFunction“.

Než zadáte jakýkoli vzorec listu, musíte uvést název objektu „WorksheetFunction“, poté tečku (.) A poté získáte seznam všech dostupných funkcí pod tímto objektem.

V tomto článku se budeme výlučně soustředit na to, jak používat funkce listu při kódování VBA, což vašim znalostem kódování přidá větší hodnotu.

# 1 - Jednoduché funkce pracovního listu SUM

Dobře, pro začátek s funkcemi listu použijte jednoduchou funkci SUMA v Excelu a přidejte čísla z listu.

Předpokládejme, že máte v listu údaje o měsíčních tržbách a nákladech, jako je níže uvedený.

V B14 a C14 musíme dospět k součtu výše uvedených čísel. Podle následujících pokynů zahájíte proces aplikace funkce „SUM“ v aplikaci Excel VBA.

Krok 1: Vytvořte jednoduchý název makra aplikace Excel.

Kód:

Sub Worksheet_Function_Example1 () End Sub

Krok 2: Protože potřebujeme výsledek v buňce B14, začněte kód jako Range („B14“). Hodnota =

Kód:

Sub Worksheet_Function_Example1 () Range ("B14"). Hodnota = End Sub

Krok 3: V B14 potřebujeme hodnotu jako výsledek součtu čísel. Chcete-li tedy získat přístup k funkci SUM z listu, spusťte kód jako „WorksheetFunction“.

Kód:

Sub Worksheet_Function_Example1 () Range ("B14"). Hodnota = WorksheetFunction. End Sub

Krok 4: V okamžiku, kdy vložíte tečku (.), Začnou se zobrazovat dostupné funkce. Z toho vyberte SUM.

Kód:

Sub Worksheet_Function_Example1 () Range ("B14"). Hodnota = WorksheetFunction.Sum End Sub

Krok 5: Nyní uveďte odkaz na výše uvedená čísla, tj. Rozsah („B2: B13“).

Kód:

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

Krok 6: Podobně pro další sloupec použijte podobný kód změnou odkazů na buňky.

Kód:

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

Krok 7: Nyní spusťte tento kód ručně nebo pomocí klávesy F5, abyste měli celkem v buňkách B14 a C14.

Páni, máme naše hodnoty. Jedna věc, kterou si musíte všimnout, je, že v listu nemáme žádný vzorec, ale právě jsme dostali výsledek funkce „SUM“ ve VBA.

# 2 - Použijte VLOOKUP jako funkci listu

Uvidíme, jak používat VLOOKUP ve VBA. Předpokládejme, že níže jsou data, která máte ve svém listu Excel.

V buňce E2 jste vytvořili rozevírací seznam všech zón.

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.

Nemůžeme se vrátit a spustit makro pokaždé, takže přiřadíme makro tvarům. Vložte jeden z obrazců do listu.

Přidejte textovou hodnotu do vloženého tvaru.

Nyní klikněte pravým tlačítkem a přiřaďte tomuto tvaru název makra.

Po výběru názvu makra klikněte na ok.

Nyní tento tvar obsahuje kód našeho vzorce VLOOKUP. Takže kdykoli změníte název zóny, klikněte na tlačítko, aktualizuje se hodnoty.

Věci k zapamatování

  • Pro přístup k funkcím listu musíme napsat slovo „WorksheetFunction“ nebo „Application.WorksheetFunction“
  • Nemáme přístup ke všem funkcím, pouze k několika.
  • Skutečnou syntaxi funkcí listu nevidíme, takže si musíme být naprosto jistí, jakou funkci používáme.

Zajímavé články...