Thầy cho hỏi thêm 1 vấn đề nữa : Trong tb_thanhtien tô format như sau :
Private Sub Tb_thanhtien_Change()
Bạn có thể dùng thêm hàm chuyển đổi kiểu dữ liệu trước khi lưu. Ví dụ:
Sheet1.Range("A1").Value = CLng(Tb_thanhtien.Value)
Như vậy giá trị trong textbox khi lưu vào excel sẽ lưu đúng dưới dạng số đầy đủ mà không bị ảnh hưởng bởi dấu ngăn cách phần nghìn hay phần thập phân.
Quan trọng là lưu đúng bản chất (dạng Number) và đúng giá trị. Còn bạn có thể định dạng lại trong excel tùy ý.
Có cách nào mà khi người nhập dữ liệu dạng khác (ví dụ kiểu text) vào ô số lượng mà VBA sẽ báo ngay bằng Msgbox là " bạn nhập sai kiểu dữ liệu" không thầy
Bạn có thể kiểm tra kiểu dữ liệu sau khi nhập (lúc bấm lệnh Lưu sẽ kiểm tra dữ liệu trước khi lưu, nếu sai ở đâu thì exit sub để yêu cầu sửa lại, ko thực hiện việc lưu)
If IsNumeric(Me.TextBox1.Value) = True Then
Sheet1.Range("A1").Value = Me.TextBox1.Value
Else
MsgBox "chi duoc nhap so"
exit sub
End If
trong đó IsNumeric(...) chính là lệnh kiểm tra xem giá trị đó có phải là kiểu số hay không (giống với hàm ISNUMBER trong excel