Cách tự động định dạng số khi nhập vào textbox trong userform VBA Excel

Sử dụng Userform để nhập dữ liệu trong Excel giúp ích rất nhiều trong công việc, biến file excel thông thường trở thành 1 phần mềm chuyên nghiệp. Tuy nhiên để quản lý tốt Userform trong VBA lại đòi hỏi bạn phải rất tỉ mỉ và cẩn thận. Trong bài viết này Học Excel Online sẽ hướng dẫn các bạn cách tự động định dạng số khi nhập vào textbox trong Userform. Bởi thông thường khi nhập dữ liệu dạng số vào trong textbox thì chúng ta chỉ nhận được thông tin như sau:

Việc hiển thị dữ liệu như vậy khiến chúng ta rất khó theo dõi bởi đây không phải dữ liệu chuẩn của định dạng số.

1. Yêu cầu của dữ liệu dạng số

Yêu cầu thông thường với dữ liệu dạng số là:

  • Có dấu ngăn cách phần nghìn
  • Căn lề bên phải

Ngoài ra trong quá trình sử dụng Userform còn có thêm yêu cầu là:

  • Tự động thay đổi định dạng mỗi khi có sự thay đổi ngay trong ô Textbox đó
  • Không được nhập ký tự không phải là số

2. Cách tự động định dạng số khi nhập vào textbox trong userform

a. Căn lề phải trong Textbox

Trong Userform chúng ta bấm chuột vào Textbox cần thực hiện căn lề

Trong cửa sổ Properties, chọn mục TextAlign và chọn 3-fmTextAlignRight (mặc định trong VBA là 1-fmTextAlignLeft = căn lề trái)

 

Việc căn lề phải thường chỉ áp dụng riêng cho dữ liệu dạng số

b. Tự động thay đổi cách hiển thị dữ liệu dạng số

Double click vào Textbox cần thiết lập (txAmount) để mở ra cửa sổ viết code.

Trong cửa sổ viết code cho Userform sẽ xuất hiện 1 Sub là txAmount_Change (tức là khi có sự thay đổi dữ liệu trong txAmount). Chúng ta sẽ viết code vào trong sub này như sau:

Private Sub txAmount_Change()

txAmount = Format(txAmount, “#,##0”)

End Sub

Câu lệnh này có nghĩa là: Dữ liệu trong textbox Amount sẽ được tự động thay đổi về dạng hiển thị dữ liệu số tiêu chuẩn có dấu ngăn cách phần nghìn.

Để hiểu hơn về cách viết các định dạng này, các bạn tham khảo thêm trong mục Format cells/Number/Custome

Mở Userform lên và xem kết quả nào:

3. Nâng cao về Userform

Với những Textbox dùng để nhập dữ liệu dạng số thường phải kèm theo quy định chỉ được nhập dữ liệu dạng số. Có như vậy thì mới đảm bảo được tính chính xác và dữ liệu nhập vào là có ích, có thể sử dụng được.

Để có thể làm được điều này, mời các bạn tham khảo bài viết:

Chỉ cho phép nhập số trên textbox của form

Các bạn có thể tải về file mẫu tại địa chỉ: http://bit.ly/2sLkl1g

Để tìm hiểu thêm nhiều kiến thức về VBA, mời bạn tham dự khóa học VBA101 – Tự động hóa Excel với lập trình VBA. Đây là khóa học rất hữu ích dành cho bạn, giúp bạn hiểu một cách bài bản về VBA và cách sử dụng VBA, ứng dụng VBA vào công việc để tăng hiệu quả. Hãy cùng khám phá nào:


Tác giả: duongquan211287

· · ·

Khóa học mới xuất bản