Funkcja zdefiniowana przez użytkownika w Excel VBA - Łatwe makra Excel

Spisie treści

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 Funkcja zdefiniowana przez użytkownika lub niestandardowa funkcja Excela. Możesz uzyskać dostęp do funkcji zdefiniowanej przez użytkownika, tak jak do każdej innej funkcji programu Excel.

Chcemy stworzyć funkcję o nazwie SUMEVENNUMBERS, która znajduje sumę parzystych liczb z losowo wybranego zakresu.

Sytuacja:

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:

Funkcja SUMEVENNUMBERS(rng jako zakres)

Nazwa naszej funkcji to SUMEVENNUMBERS. Część między nawiasami oznacza, że ​​jako dane wejściowe podajemy Excel VBA zakres. Nazywamy nasz asortyment rng, ale możesz użyć dowolnej nazwy.

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

Przyciemnij komórkę jako zakres

4. Chcemy sprawdzić każdą komórkę w losowo wybranym zakresie (ten zakres może mieć dowolny rozmiar). W Excel VBA możesz użyć do tego pętli For Each Next. Dodaj następujące wiersze kodu:

Dla każdej komórki w rng
Następna komórka

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

5. Następnie sprawdzamy dla każdej wartości w tym zakresie, czy jest parzysta, czy nie. Używamy do tego operatora Mod. Operator Mod podaje pozostałą część dywizji. Na przykład 7 mod 2 = 1, ponieważ 7 podzielone przez 2 równa się 3, a reszta równa 1. Powiedziawszy to, łatwo jest sprawdzić, czy liczba jest parzysta, czy nie. Tylko jeśli reszta liczby podzielona przez 2 wynosi 0, liczba jest parzysta. Na przykład 8 mod 2 = 0, ponieważ 8 podzielone przez 2 równa się 4, a reszta równa 0. Dodaj następującą instrukcję If do pętli For Each Next.

Jeśli komórka.Wartość Mod 2 = 0 Wtedy
Zakończ, jeśli

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

SUMEVENNUMBERS = SUMEVENNUMBERS + komórka.Wartość

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

Koniec funkcji

8. Teraz możesz użyć tej funkcji, podobnie jak każdej innej funkcji Excela, aby znaleźć sumę liczb parzystych z losowo wybranego zakresu.

Wynik:

Dobrze zrobiony! Tak proste są funkcje zdefiniowane przez użytkownika w Excel VBA. Uwaga: ta funkcja jest dostępna tylko w tym skoroszycie.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave