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!
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!
Mã:
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