Không nhập được số thập phân trong Textbox
Em chào anh chị, nhờ anh chị giúp em bài này với ạ, em nghiên cứu cả buổi không ra.
Trong userform có 3 Textbox, txtSoLuong, txtDonGia, txtThanhTien, em muốn khi nhập vào ô txtSoLuong thì ô txtThanhTien = txtSoLuong*txtDonGia còn khi nhập vào ô txtThanhTien thì txtSoLuong = txtThanhTien/txtDonGia.
Em viết code như này chạy được rồi, nhưng không nhập được số thập phân vào ô txtSoLuong, mong mọi người giúp em với ạ. Em cám ơn rất nhiều!Option Explicit Private Sub txtSoLuong_Change() On Error Resume Next If IsNumeric(txtSoLuong) = True Then Application.EnableEvents = False txtThanhTien = CDbl(txtSoLuong) * CDbl(txtDonGia) Application.EnableEvents = True End If End Sub Private Sub txtDonGia_Change() On Error GoTo BaoLoi Me.txtDonGia = Format(txtDonGia, "#,##0") If txtDonGia = "" Then txtDonGia = 0 txtThanhTien = CDbl(txtSoLuong) * CDbl(txtDonGia) Exit Sub BaoLoi: txtThanhTien = 0 End Sub Private Sub txtThanhTien_Change() On Error Resume Next Me.txtThanhTien = Format(Me.txtThanhTien, "#,##0") Application.EnableEvents = False txtSoLuong = Round(CDbl(txtThanhTien) / CDbl(txtDonGia), 2) Exit Sub Application.EnableEvents = True End Sub Private Sub UserForm_Initialize() txtDonGia = 20000 End Sub
Nó bị logic chỗ này giới hạn chăng?
Bạn sửa chút như phía dưới xem!
Private Sub txtThanhTien_Change()
On Error Resume Next
' Me.txtThanhTien = Format(Me.txtThanhTien, "#,##0")
Me.txtThanhTien = Me.txtThanhTien
Application.EnableEvents = False
txtSoLuong = Round(CDbl(txtThanhTien) / CDbl(txtDonGia), 2)
Exit Sub
Application.EnableEvents = True
End Sub
www.giaiphapexcel.com/diendan/threads/kh%C3%B4ng-nh%E1%BA%ADp-%C4%91%C6%B0%E1%BB%A3c-s%E1%BB%91-th%E1%BA%ADp-ph%C3%A2n-trong-textbox.164187/
Kỹ năng giải quyết vấn đề hiệu quả
Mô tả Nội dung Đánh giá Tài nguyên KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ HIỆU QUẢHiểu đúng vấn đề là một nửa của giải...
Xem khóa học
Bình luận