Excel VBA Funkcja pierwiastka kwadratowego

W tym artykule zobaczymy zarys pierwiastka kwadratowego Excel VBA. Za każdym razem, gdy pracujesz w programie Excel, musisz użyć funkcji SQRT, która daje pierwiastek kwadratowy z dowolnej liczby całkowitej. Czy można przechwycić pierwiastek kwadratowy z liczby pod VBA? Cóż, odpowiedź jest pewna Tak! Możesz uzyskać pierwiastek kwadratowy z dowolnej liczby dodatniej przez VBA za pomocą funkcji VBA SQR. Ta funkcja jest wbudowaną funkcją VBA i może być używana na dowolnej dodatniej liczbie całkowitej, aby uzyskać pierwiastek kwadratowy z niej. Ta funkcja jest bardzo podobna do tej, której używamy jako funkcji arkusza kalkulacyjnego SQRT, a także przyjmuje ten sam pojedynczy argument „Liczba”, który powinien być dodatni. Nie możemy również uzyskać pierwiastków kwadratowych liczb urojonych, a wprowadzanie wartości ujemnych jest bezużyteczne, ponieważ nie ma możliwego sposobu na uchwycenie ujemnej wartości kwadratowej liczby.

Składnia:

Składnia funkcji pierwiastka kwadratowego VBA jest dość prosta i wygląda podobnie do funkcji SQRT arkusza kalkulacyjnego.

Gdzie liczba jest jedynym argumentem, który należy podać i który powinien być ściśle pozytywny. Ponieważ nie możemy mieć ujemnych wartości kwadratowych dowolnej liczby, szanse na uzyskanie ujemnej wartości pierwiastka kwadratowego są niemożliwe. Ponadto nie ma możliwości znalezienia pierwiastków kwadratowych liczb zespolonych. Ten argument można podać bezpośrednio jako liczbę lub zmienną przypisaną do numeru lub odwołania do komórki arkusza kalkulacyjnego, w którym numer jest przechowywany. Należy również zauważyć, że system domyślnie uznaje podany argument za podwójny, aby dać pierwiastek kwadratowy z dowolnej liczby, niezależnie od tego, czy jest to cały kwadrat, czy nie (np. 87, nie jest cały kwadrat, ale nadal otrzyma wartość pierwiastka kwadratowego, ponieważ typ liczby jest podwójny. Możesz nadal zdefiniować liczbę jako liczbę całkowitą, a następnie użyć jej jako argumentu funkcji SQR. Zaokrągli się do najbliższej wartości pierwiastka kwadratowego, jeśli liczba pod warunkiem, że nie jest to cały kwadrat.

Jak korzystać z funkcji pierwiastka kwadratowego w programie Excel VBA?

Poniżej znajdują się różne przykłady użycia funkcji pierwiastka kwadratowego w programie Excel VBA.

Możesz pobrać ten szablon Excel Root kwadratowy Excel tutaj - szablon Excel Root kwadratowy VBA

Korzeń kwadratowy VBA - przykład nr 1

Wykonaj poniższe kroki, aby zobaczyć, jak dokładnie działa funkcja VBA SQR.

Krok 1: Kliknij kartę Deweloper, a następnie kliknij ikonę Visual Basic (ALT + F11).

Krok 2: Otwórz moduł z karty menu Wstaw, jak pokazano poniżej.

Krok 3: Zdefiniuj nową podprocedurę, która może przechowywać makro pod nowo wstawionym modułem.

Kod:

 Sub sqrt_Example1 () End Sub 

Krok 4: Użyj operatora przypisania, aby przypisać wartość funkcji pierwiastka kwadratowego VBA do zmiennej o nazwie „ sqr_root ”, abyśmy mogli wydrukować wynik i sprawdzić, czy działa dobrze.

Kod:

 Sub sqrt_Example1 () sqr_root = Sqr (121) End Sub 

Krok 5: Użyj funkcji MsgBox, abyśmy mogli wydrukować wynik jako okno komunikatu, które pojawi się, gdy tylko uruchomimy kod.

Kod:

 Sub sqrt_Example1 () sqr_root = Sqr (121) MsgBox "Pierwiastek kwadratowy z podanej liczby to:" & sqr_root End Sub 

Krok 6: Uruchom ten kod, naciskając F5 lub przycisk Uruchom umieszczony na najwyższym panelu.

Jak tylko uruchomisz ten kod, powinieneś zobaczyć wynik, jak pokazano poniżej.

Korzeń kwadratowy VBA - przykład nr 2

Zanurzmy się głębiej w funkcję VBA SQR i spróbujmy znaleźć kilka różnych przypadków.

Krok 1: Zdefiniuj podprocedurę, która może przechowywać twoje makra.

Kod:

 Sub sqrt_Example2 () End Sub 

Krok 2: Musimy zdefiniować dwie nowe zmienne jako liczby całkowite. Jeden do przechowywania wartości, dla której chcemy pierwiastek kwadratowy. Inną zmienną byłoby przechowywanie wyniku pierwiastka kwadratowego po zastosowaniu funkcji SQR.

Kod:

 Sub sqrt_Example2 () Dim square_umum As Integer Dim square_root As Integer End Sub 

Krok 3: Przypisz wartość 87 do zmiennej square_num za pomocą operatora przypisania („=”). Jest to liczba, dla której chcieliśmy uchwycić wartość pierwiastka kwadratowego.

Kod:

 Sub sqrt_Example2 () Dim square_um As As Integer Dim square_root As Integer square_num = 87 End Sub 

Krok 4: Użyj funkcji SQR i operatora przypisania, aby przypisać wartość pierwiastka kwadratowego do zmiennej square_root . Użyj argumentu kwadrat_ jako argument w funkcji SQR (liczba, dla której chcieliśmy wartości pierwiastka kwadratowego).

Kod:

 Sub sqrt_Example2 () Dim square_um Nr As Integer Dim square_root As Integer square_num = 87 square_root = Sqr (square_num) End Sub 

Krok 5: Użyj właściwości MsgBox, aby wyświetlić wartość pierwiastka kwadratowego jako komunikat, który pojawia się po uruchomieniu kodu.

Kod:

 Sub sqrt_Example2 () Dim square_umum As Integer Dim square_root As Integer square_num = 87 square_root = Sqr (square_num) MsgBox "Pierwiastek kwadratowy dla podanej liczby to:" & root_root End Sub 

Krok 6: Uruchom ten kod, naciskając klawisz F5 lub Run, który znajduje się na najwyższej wstążce VBE.

Krok 7: Zobacz wyniki w oknie komunikatu, jak pokazano poniżej:

Jednak nie jest to rzeczywista wartość pierwiastka kwadratowego dla liczby 87. Jest to wartość pierwiastka kwadratowego dla liczby 81. Dlaczego na świecie VBA podaje nieprawidłowe dane wyjściowe dla funkcji SQR?

Cóż, nie ma nic złego w VBA. Jeśli coś jest nie tak, jest to idealne rozwiązanie dla naszego kodu.

Ponieważ zmienne zdefiniowaliśmy jako liczby całkowite, ograniczamy VBA, aby podawać pierwiastki kwadratowe tylko tych liczb, które są liczbami całkowitymi (np. 4, 9, 16, 25 itd.). Jeśli jakakolwiek liczba nie jest całkowitym kwadratem, funkcja VBA SQR zamiast generować błąd, daje wartość pierwiastka kwadratowego dla liczby zbliżonej do bieżącej liczby. Tutaj 87 ma 81 jako najbliższą liczbę całkowitą. Dlatego otrzymujesz wynik jako 9.

Krok 8: Zobaczmy, co się stanie, gdy poprawimy kod, definiując zmienną square_root jako Double zamiast Integer.

Kod:

 Sub sqrt_Example2 () Dim square_umum As Integer Dim square_root As Double square_num = 87 square_root = Sqr (square_num) MsgBox "Pierwiastek kwadratowy dla podanej liczby to:" & root_root End Sub 

Krok 9: Zobaczysz, że system może teraz przechwycić rzeczywistą wartość pierwiastka kwadratowego dla liczby 87.

Rzeczy do zapamiętania

  • Jeśli podasz liczbę ujemną jako argument w funkcji VBA SQR, wygeneruje błąd „5” w czasie wykonywania . Ponieważ nie można mieć liczby z ujemnymi wartościami kwadratowymi.
  • Jeśli masz liczbę ujemną, upewnij się, że konwertujesz ją na dodatnią jednostkę za pomocą funkcji ABS. Możesz również sprawdzić, czy liczba jest dodatnia, czy nie przy pomocy funkcji SGN w VBA.
  • Jeśli umieścisz zero jako argument w funkcji VBA SQR, otrzymasz pierwiastek kwadratowy jako zero.

Polecane artykuły

To jest przewodnik po VBA Square Root. Tutaj omawiamy, jak korzystać z funkcji pierwiastka kwadratowego w Excel VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Instrukcje VBA IF | Szablony programu Excel
  2. Jak korzystać z funkcji sortowania Excel VBA?
  3. VBA While Loop (przykłady z szablonem Excel)
  4. Co to jest licznik VBA (przykłady)?

Kategoria: