Funkcja VBA Square Root - Jak obliczyć SQRT za pomocą SQR w VBA?

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 to funkcja pierwiastka kwadratowego zarówno w programie Excel, jak i VBA. Metoda użycia tej funkcji jest następująca SQR (liczba) i służy do obliczania pierwiastka kwadratowego z podanej liczby w programie Excel; jednak nomenklatura jest inna i jest zapisana 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 poprawna.

Ta funkcja jest dostępna zarówno z funkcjami arkusza, jak i funkcją VBA, ale w arkuszu jest dostępna jako SQRT.

Przykłady Square Root w Excel VBA

Przykł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 wartość równą i otworzymy funkcję SQR.

Jedynym argumentem funkcji SQR jest „Number”, ponieważ już przypisaliśmy liczbę 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 jedna rzecz, o której musimy pamiętać podczas obliczania sqrt w VBA, to kiedy typ danych zmiennej jest liczbą całkowitą lub długą, 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ągla 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 z formuły liczbowej, jest to SQR, aw arkuszu jest to SQRT.
  • Liczba, którą dostarczamy do funkcji SQR, powinna być liczbą dodatnią, w przeciwnym razie otrzymamy #NUM! błąd.

Interesujące artykuły...