Funkcja Excel VBA Square Root (SQR)
W VBA mamy wbudowaną funkcję o nazwie „SQR”, ta funkcja zwraca pierwiastek kwadratowy z podanej liczby podanej na wejściu. Funkcja Square Root wymaga tylko jednego argumentu dla swojej funkcji, tj. Liczby.
SQRT jest funkcją pierwiastka kwadratowego zarówno w programie Excel, jak i VBA, metoda korzystania z tej funkcji jest następująca SQR (liczba) i służy do obliczania pierwiastka kwadratowego z danej liczby w programie Excel, jednak nomenklatura jest inna i jest zapisywana jako SQRT w porównaniu do SQR w VBA.
Poniżej znajduje się składnia funkcji SQR.
Liczba: dla tego argumentu musimy podać liczbę, dla której próbujemy znaleźć pierwiastek kwadratowy. Liczba może być bezpośrednią dostawą liczby lub liczby przypisanej do zmiennej albo liczba z odwołaniem do komórki jest ważna.
Ta funkcja jest dostępna zarówno z funkcją arkusza, jak i funkcją VBA, ale w arkuszu jest dostępna jako SQRT.
Przykłady Square Root w Excel VBA
Możesz pobrać ten szablon programu Excel z funkcją VBA SQRT tutaj - Szablon programu Excel z funkcją VBA SQRTPrzykład 1
Teraz spróbujemy napisać kod, aby znaleźć pierwiastek kwadratowy dla liczby 64.
Najpierw uruchom podprogram vba.
Kod:
Sub Square_Root_Example () End Sub
Zdefiniuj dwie zmienne jako liczby całkowite, jedna służy do przechowywania liczby, a druga ma pokazywać wynik wartości pierwiastka kwadratowego.
Kod:
Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer End Sub
Zmiennej „ActualNumber” przypisz wartość 64.
Kod:
Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 End Sub
W przypadku innej zmiennej przypiszemy pierwiastek kwadratowy, wpiszemy nazwę zmiennej, wstawimy równość i otworzymy funkcję SQR.
Jedynym argumentem funkcji SQR jest „Number”, ponieważ przypisaliśmy już numer 64 do zmiennej „ActualNumber”, podajmy tę samą nazwę zmiennej w funkcji SQR.
Następnie pokaż wynik w oknie komunikatu. Teraz pierwiastek kwadratowy jest przypisany do zmiennej „SquareNumber” i wyświetla tę samą nazwę zmiennej w oknie komunikatu.
Kod:
Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
Ok, to wszystko, co skończyliśmy z kodowaniem.
Uruchom kod za pomocą klawisza skrótu F5 programu Excel i zobacz, co otrzymamy w oknie komunikatu.
Pierwiastek kwadratowy liczby 64 to 8, czyli 8 * 8 = 64
Przykład nr 2
Jeszcze jedną rzeczą, o której musimy pamiętać podczas obliczania sqrt w VBA, jest sytuacja, gdy typ danych zmiennej jest liczbą całkowitą lub długą, a wynik jest zaokrąglany do najbliższej wartości całkowitej lub całkowitej.
Na przykład, jeśli próbujesz znaleźć pierwiastek kwadratowy dla liczby 70, nie ma dla tego pierwiastka kwadratowego, ale w VBA wyświetla się jako 8 tylko dlatego, że 8 jest najbliższą wartością całkowitą pierwiastka kwadratowego.
Spójrz na poniższy kod.
Kod:
Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
Rzeczywisty wynik liczby pierwiastkowej dla 70 to 8,3666, ale w przypadku VBA zaokrągli się do najbliższej wartości całkowitej 8.
Jedyną rzeczą, jaką możemy zrobić, aby naprawić ten błąd, jest zmiana typu danych zmiennej „SquareNumber” na „Double”.
Kod:
Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Double ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
Teraz uruchom kod ręcznie lub za pomocą klawisza F5 i zobacz wynik.
Jak widać wynik jest teraz dokładny, tj. 8,366602 wynika to z typu danych, które przypisaliśmy do zmiennej „SquareNumber”
Rzeczy do zapamiętania
- W języku VBA, aby znaleźć pierwiastek kwadratowy wzoru liczbowego, jest to SQR, aw arkuszu kalkulacyjnym to SQRT.
- Liczba, którą dostarczamy do funkcji SQR, powinna być liczbą dodatnią, w przeciwnym razie otrzymamy #NUM! błąd.