Số định dạng VBA - Làm thế nào để định dạng số với VBA NumberFormat?

Hàm Format trong VBA được sử dụng để định dạng các giá trị đã cho theo định dạng mong muốn, về cơ bản hàm này có hai đối số bắt buộc, một là đầu vào được lấy ở dạng chuỗi và đối số thứ hai là loại định dạng mà chúng ta muốn sử dụng ví dụ: nếu chúng tôi sử dụng Định dạng (.99, ”Phần trăm”), điều này sẽ cho chúng tôi kết quả là 99%.

Định dạng số trong VBA Excel

VBA đi trước các hàm excel thông thường. VBA có nhiều chức năng được tích hợp sẵn, giống như cách chúng ta có hơn 500 thao tác trong trang tính. Một trong những công thức như vậy trong VBA là “Số định dạng”.

Đúng, bạn nghe đúng đấy. Chúng tôi có một chức năng được gọi là "FormatNumber" trong VBA. Trong bài viết này, chúng tôi sẽ giới thiệu riêng về chức năng này.

Làm thế nào để định dạng số với VBA NumberFormat?

Như chính tên hàm đã nói, nó sẽ định dạng một số nhất định theo hướng dẫn định dạng mà người dùng đưa ra.

Định dạng số không có gì khác ngoài việc thêm dấu thập phân, đặt các số âm trong dấu ngoặc đơn, hiển thị các số 0 đứng đầu cho các giá trị thập phân, v.v. Sử dụng hàm FormatNumber của VBA , chúng ta có thể áp dụng kiểu định dạng cho các số mà chúng ta làm việc. Dưới đây là cú pháp của hàm

  • Biểu thức: Đây không là gì ngoài số chúng ta cần định dạng.
  • Số chữ số sau số thập phân: Có bao nhiêu chữ số bạn muốn cho vị trí số thập phân ở phía bên phải của số.
  • Bao gồm chữ số hàng đầu: Chữ số hàng đầu không là gì ngoài các chữ số trước khi số bắt đầu. Điều này có thể áp dụng cho các giá trị nhỏ hơn 1 nhưng lớn hơn -1.
    • Nếu bạn muốn hiển thị số 0 trước giá trị thập phân, bạn có thể chuyển đối số là TRUE hoặc -1 và kết quả sẽ là. “0,55”
    • Nếu bạn không muốn hiển thị số 0 trước giá trị thập phân, bạn có thể chuyển đối số là FALSE hoặc 0 và kết quả sẽ là “.55”.
    • Theo mặc định, giá trị sẽ là -2 tức là cài đặt máy tính theo khu vực.
  • Sử dụng cha mẹ cho số âm: Nếu bạn muốn hiển thị số âm trong ngoặc đơn, bạn có thể chuyển đối số là TRUE hoặc -1 và kết quả sẽ là. “(255)”
    • Nếu bạn muốn hiển thị các số âm không có dấu ngoặc đơn, bạn có thể chuyển đối số là FALSE hoặc 0 và kết quả sẽ là. "-255."
  • Chữ số trong nhóm: Cho dù bạn có muốn thêm dấu phân cách hàng nghìn hay không. Nếu có, TRUE hoặc -1 là đối số. Nếu không, FALSE hoặc 0 là đối số. Theo mặc định, giá trị là -2, tức là bằng với cài đặt máy tính khu vực.

Ví dụ về hàm FormatNumber trong Excel VBA

Chúng ta sẽ xem các ví dụ thực tế về hàm Số định dạng VBA trong Excel. Chúng tôi sẽ thực hiện mọi đối số riêng biệt.

Với mục đích này, hãy tạo tên macro và khai báo một trong các biến dưới dạng chuỗi. Chúng tôi cần báo cáo biến dưới dạng một chuỗi vì kết quả được cung cấp bởi hàm FormatNumber trong VBA chỉ là chuỗi.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String End Sub

Ví dụ # 1 - Thêm dấu chấm thập phân ở phía trước số

Bước # 1 - Giả sử chúng ta đang làm việc với số 25000, và chúng ta cần định dạng nó và thêm dấu thập phân vào bên phải số. Gán một giá trị cho biến của chúng ta.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (End Sub

Bước # 2 - Đầu tiên là một biểu thức, tức là số chúng ta cần định dạng, vì vậy số của chúng ta là 25000.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, End Sub

Bước # 3 - Tiếp theo là chúng ta cần thêm bao nhiêu chữ số, tức là 2 số.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) End Sub

Bước # 4 - Hiển thị giá trị của biến trong hộp thông báo VBA.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) MsgBox MyNum End Sub

Bước # 5 - Kết quả của macro này là như thế này.

Chúng ta có thể thấy hai số thập phân ở bên phải số.

Ví dụ # 2 - Số nhóm tức là Dấu phân cách hàng nghìn

Đối với cùng một số, chúng ta có thể thêm hoặc xóa một nghìn dấu phân cách. Nếu chúng ta muốn hiển thị một nghìn dấu phân cách, chúng ta cần chọn vbTrue cho đối số cuối cùng.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2,,, vbTrue) MsgBox MyNum End Sub

Điều này sẽ ném kết quả như thế này.

Bây giờ, nếu chọn vbFalse, thì chúng ta sẽ không nhận được một nghìn dấu phân cách.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2,,, vbFalse) MsgBox MyNum End Sub

Kết quả của đoạn mã này như thế này.

Nếu tôi chọn vbUseDefault, chúng tôi nhận được kết quả theo cài đặt hệ thống. Dưới đây là kết quả của việc này.

Vì vậy, cài đặt hệ thống của tôi có một nghìn dấu phân cách theo mặc định.

Ví dụ # 3 - Kèm theo dấu ngoặc đơn cho các số phủ định

Nếu chúng ta có một số có hại, chúng ta có thể hiển thị số âm trong ngoặc đơn. Chúng tôi cần chọn vbTrue trong “Sử dụng cha mẹ cho số âm.”

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2,, vbTrue) MsgBox MyNum End Sub

Bây giờ kết quả như thế này.

Nếu chúng ta chọn vbFalse, chúng ta sẽ nhận được một số âm với một dấu trừ.

Mã:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2,, vbFalse) MsgBox MyNum End Sub

Bây giờ kết quả như thế này.

thú vị bài viết...