Συνάρτηση Excel VBA Square Root (SQR)
Στο VBA έχουμε μια ενσωματωμένη συνάρτηση που ονομάζεται "SQR", αυτή η συνάρτηση επιστρέφει την τετραγωνική ρίζα για τον δεδομένο αριθμό που παρέχεται στην είσοδο. Η συνάρτηση Square Root απαιτεί μόνο ένα όρισμα για τη λειτουργία της, δηλαδή Αριθμός.
Το SQRT είναι μια συνάρτηση τετραγωνικής ρίζας τόσο στο excel όσο και στο VBA. Η μέθοδος για τη χρήση αυτής της λειτουργίας έχει ως εξής SQR (αριθμός) και χρησιμοποιείται για τον υπολογισμό της τετραγωνικής ρίζας ενός δεδομένου αριθμού στο excel. Ωστόσο, η ονοματολογία είναι διαφορετική και γράφεται ως SQRT σε σύγκριση με το SQR στο VBA.
Παρακάτω είναι η σύνταξη της συνάρτησης SQR.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__2.png.webp)
Αριθμός: Για αυτό το επιχείρημα, πρέπει να δώσουμε τον αριθμό για τον οποίο προσπαθούμε να βρούμε την τετραγωνική ρίζα. Ο αριθμός θα μπορούσε να είναι μια άμεση παροχή αριθμού ή αριθμού που έχει εκχωρηθεί στη μεταβλητή ή ένας αριθμός με αναφορά κυψέλης είναι έγκυρος.
Αυτή η λειτουργία είναι διαθέσιμη τόσο με τις λειτουργίες του φύλλου εργασίας όσο και με τη λειτουργία VBA, αλλά σε ένα φύλλο εργασίας, είναι διαθέσιμη ως SQRT.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba_.png.webp)
Παραδείγματα Square Root στο Excel VBA
Παράδειγμα # 1
Τώρα θα προσπαθήσουμε να γράψουμε κώδικα για να βρούμε την τετραγωνική ρίζα για τον αριθμό 64.
Αρχικά, ξεκινήστε την υπορουτίνα VBA.
Κώδικας:
Sub Square_Root_Example () End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__3.png.webp)
Ορίστε δύο μεταβλητές ως ακέραιο, μία είναι να αποθηκεύσετε τον αριθμό και μια άλλη να δείξετε το αποτέλεσμα της τιμής τετραγωνικής ρίζας.
Κώδικας:
Sub Square_Root_Example () Dim ActualNumber as Integer Dim SquareNumber As Integer End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__4.png.webp)
Για τη μεταβλητή "ActualNumber", αντιστοιχίστε την τιμή του αριθμού 64.
Κώδικας:
Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__5.png.webp)
Για μια άλλη μεταβλητή, θα εκχωρήσουμε την τιμή της τετραγωνικής ρίζας, θα εισαγάγουμε το όνομα της μεταβλητής, θα βάλουμε ίσο τραγούδι και θα ανοίξουμε τη συνάρτηση SQR
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__6.png.webp)
Το μόνο επιχείρημα της συνάρτησης SQR είναι "Αριθμός" αφού έχουμε ήδη εκχωρήσει τον αριθμό 64 στη μεταβλητή "Πραγματικός αριθμός" ας παρέχουμε το ίδιο όνομα μεταβλητής στη συνάρτηση SQR.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__7.png.webp)
Στη συνέχεια, εμφανίστε το αποτέλεσμα στο πλαίσιο μηνύματος. Τώρα ο αριθμός τετραγωνικής ρίζας έχει αντιστοιχιστεί στη μεταβλητή "SquareNumber" δείχνει το ίδιο όνομα μεταβλητής στο πλαίσιο μηνύματος.
Κώδικας:
Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__8.png.webp)
Εντάξει, αυτό είναι το μόνο που έχουμε κάνει με την κωδικοποίηση.
Εκτελέστε τον κωδικό χρησιμοποιώντας το πλήκτρο συντόμευσης excel F5 και δείτε τι λαμβάνουμε στο πλαίσιο μηνυμάτων.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba_.gif)
Η τετραγωνική ρίζα του αριθμού 64 είναι 8 δηλ. 8 * 8 = 64
Παράδειγμα # 2
Ένα ακόμη πράγμα που πρέπει να θυμόμαστε κατά τον υπολογισμό του sqrt στο VBA είναι όταν ο τύπος μεταβλητής δεδομένων είναι είτε ακέραιος είτε μεγάλος, το αποτέλεσμα στρογγυλοποιείται στον πλησιέστερο ακέραιο ή ακέραιο αριθμό.
Για παράδειγμα, εάν προσπαθείτε να βρείτε την τετραγωνική ρίζα για τον αριθμό 70, δεν υπάρχει τετραγωνική ρίζα για αυτό, αλλά στο VBA, εμφανίζεται ως 8 μόνο επειδή το 8 είναι η πλησιέστερη ακέραια τιμή τετραγωνικής ρίζας.
Κοιτάξτε τον παρακάτω κώδικα.
Κώδικας:
Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__9.png.webp)
Το πραγματικό αποτέλεσμα αριθμού τετραγωνικής ρίζας για το 70 είναι 8.3666, αλλά με το VBA, θα στρογγυλοποιηθεί στην πλησιέστερη ακέραια τιμή 8.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__10.png.webp)
Ένα πράγμα που μπορούμε να κάνουμε για να διορθώσουμε αυτό το σφάλμα είναι ότι πρέπει να αλλάξουμε τον τύπο δεδομένων της μεταβλητής "SquareNumber" σε "Double".
Κώδικας:
Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Double ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__11.png.webp)
Τώρα εκτελέστε τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5 και δείτε το αποτέλεσμα.
![](https://cdn.know-base.net/1944988/vba_square_root_function_how_to_calculate_sqrt_using_sqr_in_vba__2.gif)
Όπως μπορείτε να δείτε, το αποτέλεσμα είναι ακριβές τώρα, δηλαδή 8.366602. Αυτό οφείλεται στον τύπο δεδομένων που έχουμε εκχωρήσει στη μεταβλητή "SquareNumber".
Πράγματα που πρέπει να θυμάστε
- Στο VBA για να βρείτε την τετραγωνική ρίζα του αριθμού τύπος είναι SQR, και στο φύλλο εργασίας, είναι SQRT.
- Ο αριθμός που παρέχουμε στη συνάρτηση SQR θα πρέπει να είναι θετικός αριθμός, αλλιώς θα λάβουμε #NUM! λάθος.