Hàm căn bậc hai VBA | Làm thế nào để tính toán SQRT bằng cách sử dụng SQR trong VBA?

Hàm VBA Square Root (SQR) trong Excel

Trong VBA, chúng ta có một hàm tích hợp được gọi là “SQR”, hàm này trả về căn bậc hai cho một số nhất định được cung cấp trong đầu vào. Hàm Căn bậc hai chỉ yêu cầu một đối số cho hàm của nó, tức là Số.

SQRT là một hàm căn bậc hai trong cả excel và VBA, phương pháp sử dụng hàm này như sau SQR (number) và được sử dụng để tính căn bậc hai của một số nhất định trong excel, tuy nhiên danh pháp khác nhau và nó được viết là SQRT so sánh sang SQR trong VBA.

Dưới đây là cú pháp của hàm SQR.

Số: Đối với đối số này, chúng ta cần cung cấp số mà chúng ta đang cố gắng tìm căn bậc hai. Số có thể là nguồn cung cấp trực tiếp số hoặc số được gán cho biến hoặc một số có tham chiếu ô là hợp lệ.

Chức năng này có sẵn với cả chức năng trang tính cũng như chức năng VBA nhưng trong một trang tính, nó có sẵn dưới dạng SQRT.

Ví dụ về Căn bậc hai trong Excel VBA

Bạn có thể tải xuống Mẫu Excel Hàm VBA SQRT này tại đây - Mẫu Excel Hàm VBA SQRT

Ví dụ 1

Bây giờ chúng ta sẽ cố gắng viết mã để tìm căn bậc hai cho số 64.

Đầu tiên, khởi động chương trình con vba.

Mã:

 Sub Square_Root_Example () End Sub 

Định nghĩa hai biến là Số nguyên, một là để lưu trữ số và một là để hiển thị kết quả của giá trị căn bậc hai.

Mã:

 Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer End Sub 

Đối với biến "Số thực", hãy gán giá trị của số 64.

Mã:

 Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 End Sub 

Đối với một biến khác, chúng ta sẽ gán giá trị căn bậc hai, nhập tên biến, đặt bằng sing và mở hàm SQR.

Đối số duy nhất của hàm SQR là “Number” vì chúng ta đã gán số 64 cho biến “ActualNumber”, hãy cung cấp cùng một tên biến trong hàm SQR.

Tiếp theo hiển thị kết quả trong hộp thông báo. Bây giờ số căn bậc hai được gán cho biến “SquareNumber” hiển thị cùng một tên biến cho hộp thông báo.

Mã:

 Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub 

Ok, đó là tất cả những gì chúng ta đã làm với mã hóa.

Chạy mã bằng cách sử dụng phím tắt F5 của excel và xem những gì chúng tôi nhận được trong hộp thông báo.

Căn bậc hai của số 64 là 8 tức là 8 * 8 = 64

Ví dụ số 2

Một điều nữa chúng ta cần lưu ý khi tính toán sqrt trong VBA là khi kiểu dữ liệu biến là số nguyên hoặc dài thì kết quả được làm tròn thành giá trị số nguyên hoặc số nguyên gần nhất.

Ví dụ: nếu bạn đang cố gắng tìm căn bậc hai cho số 70, không có căn bậc hai cho số này nhưng trong VBA nó chỉ hiển thị là 8 vì 8 là giá trị số nguyên căn bậc hai gần nhất.

Nhìn vào đoạn mã dưới đây.

Mã:

 Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub 

Kết quả số căn bậc hai thực tế cho 70 là 8,3666 nhưng với VBA, nó sẽ làm tròn đến giá trị số nguyên gần nhất 8.

Một điều chúng ta có thể làm để khắc phục lỗi này là chúng ta cần thay đổi kiểu dữ liệu của biến “SquareNumber” thành “Double”.

Mã:

 Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Double ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub 

Bây giờ hãy chạy mã theo cách thủ công hoặc thông qua phím F5 và xem kết quả.

Như bạn có thể thấy, kết quả hiện tại là chính xác, tức là 8.366602, điều này là do kiểu dữ liệu chúng tôi đã gán cho biến "SquareNumber"

Những điều cần ghi nhớ

  • Trong VBA để tìm căn bậc hai của công thức số là SQR và trong trang tính là SQRT.
  • Số chúng tôi cung cấp cho hàm SQR phải là một số dương, nếu không chúng tôi sẽ nhận được lỗi #NUM! lỗi.

$config[zx-auto] not found$config[zx-overlay] not found