VAN VBA | Làm thế nào để sử dụng Hàm VBA VAL? (với các ví dụ)

Hàm Val VBA trong Excel

Hàm Val trong vba nằm dưới các hàm chuỗi, nó cũng là một hàm có sẵn trong VBA được sử dụng để lấy các giá trị số từ một biến dữ liệu, giả sử nếu một biến có giá trị là A10 thì hàm val sẽ cho chúng ta 10 dưới dạng đầu ra, nó nhận một chuỗi làm đối số và trả về các số có trong chuỗi.

VAL là viết tắt của VALUE trong thuật ngữ VBA. Hàm này chuyển đổi chuỗi chứa số thành một số thực. Ví dụ: nếu bạn cung cấp chuỗi văn bản “1234 Global”, nó sẽ chỉ trả về phần số tức là 1234.

Thông thường, khi chúng tôi tải xuống hoặc lấy dữ liệu từ số web, thường được lưu trữ dưới dạng giá trị văn bản trong bảng tính. Chuyển đổi văn bản thành số là công việc khó khăn nhất nếu bạn không biết về hàm chính xác trong excel. Là một hàm trang tính thông thường, chúng ta có một hàm gọi là VALUE sẽ chuyển đổi tất cả chuỗi biểu thị số thành số chính xác bằng một hàm đơn giản trong trang tính. Trong bài viết này, chúng tôi sẽ chỉ ra cách có thể đạt được điều này trong VBA bằng cách sử dụng hàm VAL.

Cú pháp

Nó chỉ có một đối số tức là Chuỗi.

  • Chuỗi: Nó chỉ đơn giản là một giá trị chuỗi mà chúng tôi đang cố gắng lấy phần số ra khỏi nó.

Vì vậy, hàm VAL chuyển đổi chuỗi được cung cấp thành giá trị số.

Lưu ý: Hàm VAL luôn bỏ qua các ký tự khoảng trắng và tiếp tục đọc các số sau ký tự khoảng trắng hoặc các ký tự.

Ví dụ: nếu chuỗi được cung cấp là “145 45 666 3”, nó sẽ bỏ qua các ký tự khoảng trắng và trả về kết quả là “145456663”.

Ví dụ về Hàm VAL trong Excel VBA

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

Ví dụ 1

Hãy thử ví dụ đầu tiên với số đơn giản, tức là “14 56 47”

Mã dưới đây là dành cho bạn.

Mã:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Chuyển đổi ở trên thành 145647 MsgBox k End Sub 

Khi bạn chạy mã VBA bằng phím F5 hoặc sau đó theo cách thủ công, nó sẽ trả về kết quả là “145647” bằng cách bỏ qua tất cả các ký tự khoảng trắng như trong hình dưới đây.

Ví dụ số 2

Trong ví dụ này, chúng ta sẽ thấy kết quả của chuỗi là “+456”.

Mã:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Chuyển đổi ở trên thành 456 MsgBox k End Sub 

Bạn có thể chạy mã này theo cách thủ công hoặc thông qua phím F5 để trả về giá trị là 456 bằng cách bỏ qua +456.

Ví dụ # 3

Bây giờ hãy thử cùng một số với một dấu âm.

Mã:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Chuyển đổi ở trên thành -456 MsgBox k End Sub 

Mã này sẽ chỉ trả về giá trị là -456 vì số có ký hiệu toán tử sẽ được hiển thị.

Ví dụ # 4

Bây giờ hãy thử chuỗi này “100 Kg”.

Mã:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Bỏ qua KG và chỉ trả về 100 MsgBox k End Sub 

Nếu bạn chạy mã này theo cách thủ công hoặc sử dụng phím F5 thì mã trên này sẽ bỏ qua “KG” và chỉ trả về “100” trong hộp thông báo VBA.

Ví dụ số 5

Bây giờ hãy thử chuỗi ngày, tức là “14-05-2018”.

Mã:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Trả về kết quả là 14. MsgBox k End Sub

Đoạn mã trên trả về kết quả là 14 vì hàm VAL chỉ có thể lấy giá trị số cho đến khi nó tìm thấy bất kỳ ký tự nào khác ngoài ký tự số.

Ví dụ # 6

Bây giờ hãy thử chuỗi “7459Good456”.

Mã:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Trả về kết quả là 7459. MsgBox k End Sub

Thao tác này sẽ trích xuất các số cho đến khi nó tìm thấy ký tự không phải số, tức là kết quả là 7459. Mặc dù có các giá trị số sau giá trị không phải là số “Tốt”, nó hoàn toàn bỏ qua các số sau đó.

Ví dụ # 7

Bây giờ hãy thử giá trị chuỗi “H 12456”.

Mã:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Trả về kết quả là 0. MsgBox k End Sub

Chạy đoạn mã trên bằng phím tắt F5 hoặc theo cách thủ công, sau đó nó trả về kết quả là 0. Vì ký tự đầu tiên của chuỗi mà chúng tôi đã cung cấp là một ký tự không phải số nên kết quả là không.

Ví dụ # 8

Bây giờ hãy thử chuỗi này “24545. 2 ”.

Mã:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Trả về kết quả là 24545.2. MsgBox k End Sub

Mã trả về kết quả là 24545.2 vì hàm VBA VAL coi dấu chấm (.) Là ký tự thập phân và trả về kết quả tương ứng.


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