/ / Funkcja zdefiniowana przez użytkownika w Excelu VBA

Funkcja zdefiniowana przez użytkownika w programie Excel VBA

Poniżej przyjrzymy się programowi w Excel VBA który tworzy Funkcja zdefiniowana przez użytkownika. Excel ma duży zbiór funkcji. W większości sytuacji te funkcje są wystarczające do wykonania zadania. Jeśli nie, możesz utworzyć własną funkcję o nazwie User Defined Function lub niestandardowa funkcja programu Excel. Możesz uzyskać dostęp do funkcji zdefiniowanej przez użytkownika, tak jak każda inna funkcja programu Excel.

Chcemy stworzyć funkcję SUMEENENBUMERY, która znajdzie sumę parzystych liczb losowo wybranego zakresu.

Sytuacja:

Funkcja zdefiniowana przez użytkownika w programie Excel VBA

Funkcje zdefiniowane przez użytkownika należy umieścić w module.

1. Otwórz Edytor Visual Basic i kliknij Wstaw, Moduł.

2. Dodaj następującą linię kodu:

Function SUMEVENNUMBERS(rng As Range)

Nazwa naszej funkcji to SUMEENNUMBERS. Część między nawiasami oznacza, że ​​dajemy Excelowi VBA zakres jako dane wejściowe. Nazwaliśmy nasz zakres rng, ale możesz użyć dowolnej nazwy.

3. Następnie deklarujemy obiekt Range i nazywamy go komórką.

Dim cell As Range

4. Chcemy sprawdzić każdą komórkę w losowo wybranym zakresie (ten zakres może być dowolnej wielkości). W Excel VBA można użyć do tego pętli For Each Next. Dodaj następujące linie kodu:

For Each cell In rng

Next cell

Uwaga: komórka jest tutaj losowo wybierana, możesz użyć dowolnej nazwy.

5. Następnie sprawdzamy każdą wartość w tym zakresie, czy jest równa, czy nie. Używamy do tego operatora Mod. Operator Mod podaje resztę podziału. Tak więc 7 mod 2 dałoby 1. 7 jest dzielone przez 2 (3 razy), aby dać pozostałą 1. Po tym, łatwo jest sprawdzić, czy liczba jest równa, czy nie. Tylko jeśli reszta liczby podzielona przez 2 wynosi 0, liczba jest parzysta. 8 mod 2 daje 0, 8 dzieli się 2 dokładnie 4 razy, a zatem 8 jest parzyste. Dodaj następującą instrukcję If do pętli For Each Next.

If cell.Value Mod 2 = 0 Then

End If

6. Tylko jeśli to stwierdzenie jest prawdziwe, dodajemy wartość do SUMEENNUMBERS. Dodaj następującą linię kodu w instrukcji If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Nie zapomnij zakończyć funkcji (poza pętlą).

End Function

8. Teraz możesz użyć tej funkcji, tak jak każda inna funkcja programu Excel, aby znaleźć sumę liczb parzystych losowo wybranego zakresu.

Wynik:

Wynik funkcji zdefiniowany przez użytkownika

Dobra robota! Oto proste funkcje zdefiniowane przez użytkownika w Excel VBA Uwaga: ta funkcja jest dostępna tylko w tym skoroszycie.

Przeczytaj również: