/ / Funkce definované uživatelem v aplikaci Excel VBA

Funkce definované uživatelem v aplikaci Excel VBA

Níže se podíváme na program v Excel VBA který vytvoří Funkce definovaná uživatelem. Aplikace Excel má velkou sbírku funkcí. Ve většině situací jsou tyto funkce dostačující k tomu, aby se práce stala. Pokud tomu tak není, můžete vytvořit vlastní funkci nazvanou Uživatel definovaná funkce nebo vlastní funkce aplikace Excel. Můžete mít přístup k funkci definované uživatelem stejně jako k libovolné jiné funkci aplikace Excel.

Chceme vytvořit funkci nazvanou SUMEVENNUMBERS, která najde součet sudých čísel náhodně vybraného rozsahu.

Situace:

Funkce definované uživatelem v aplikaci Excel VBA

Uživatelem definované funkce je třeba umístit do modulu.

1. Otevřete editor jazyka a klepněte na Vložit, modul.

2. Přidejte následující řádek kódu:

Function SUMEVENNUMBERS(rng As Range)

Název naší funkce je SUMEVENNUMBERS. Část mezi konzolami znamená, že ve výsledku aplikace Excel VBA máme jako vstup. Jmenujeme náš rozsah rng, ale můžete použít libovolné jméno.

3. Dále deklarujeme objekt Range a nazveme ho buňkou.

Dim cell As Range

4. Chceme zkontrolovat každou buňku v náhodně vybraném rozsahu (tento rozsah může mít libovolnou velikost). V aplikaci Excel VBA můžete pro tento účel použít smyčku For Each Next. Přidejte následující řádky kódu:

For Each cell In rng

Next cell

Poznámka: Zde je náhodně vybrána buňka, můžete použít libovolný název.

5. Dále zkontrolujeme, zda je hodnota v tomto rozmezí rovnoměrná nebo ne. Pro tento účel používáme operátor Mod. Operátor Mod dává zbytek dělení. Takže 7 mod 2 by dávalo 1. 7 je děleno 2 (3x), aby získal zbytek 1. Když to řekl, je snadné zkontrolovat, zda číslo je dokonce nebo ne. Pouze pokud zbývající část čísla dělená číslem 2 je 0, číslo je sudé. 8 mod 2 dává 0, 8 je děleno 2 přesně čtyřikrát, a proto je 8 rovno. Přidejte následující příkaz If v smyčku For Each Next.

If cell.Value Mod 2 = 0 Then

End If

6. Pouze pokud je toto tvrzení pravdivé, přidáme hodnotu k SUMEVENNUMBERS. Přidejte následující řádek kódu do příkazu If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Nezapomeňte ukončit funkci (mimo smyčku).

End Function

8. Nyní můžete tuto funkci použít, stejně jako každá jiná funkce aplikace Excel, k nalezení součtu sudých čísel náhodně vybraného rozsahu.

Výsledek:

Výsledek definovaný uživatelem

Výborně! To je, jak snadno jsou definované funkcemi v aplikaci Excel VBA. Poznámka: tato funkce je k dispozici pouze v tomto sešitu.

Také si přečtěte: