Huỳnh hoài bảo
Huỳnh hoài bảo
Thảo luận 3 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 115 lượt xem

thêm 1 vấn đề nữa Trong tb_thanhtien tô format như sau Private Sub Tb_thanhtien_Change()

Thầy cho hỏi thêm 1 vấn đề nữa : Trong tb_thanhtien tô format như sau :

 Private Sub Tb_thanhtien_Change()

    Me.Tb_thanhtien = Format(Tb_thanhtien, "#,##0")
End Sub
Nhưng khi lưu vào sheet data thì Excel lại hiểu dấu phẩy thành dấu thập phân. Điều này bắt buộc mình phải format lại các sheet trong file excel sao ??

Thảo luận 3 câu trả lời
Lượt xem 115 lượt xem
Vỗ tay vỗ tay
Huỳnh hoài bảo 08:10 - Oct 01, 2020

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 ý.

Vỗ tay vỗ tay
Huỳnh hoài bảo 09:10 - Oct 01, 2020

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

Vỗ tay vỗ tay
Huỳnh hoài bảo 11:10 - Oct 01, 2020

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

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông