1/ Bạn lập lại DMKH cho thống nhất, có cái không có maKH mà co tenKHMình nhờ mãi mà không ai làm dùm mình. Bảng này mình đã chỉnh sửa bỏ hết dấu ở tên Sheet ròi. Các bạn xem yêu cầu của mình ở Sheet 4 nha . Mình xin cảm ơn trước![]()
Dễ thôi bạn ạ.Mình nhờ mãi mà không ai làm dùm mình. Bảng này mình đã chỉnh sửa bỏ hết dấu ở tên Sheet ròi. Các bạn xem yêu cầu của mình ở Sheet 4 nha . Mình xin cảm ơn trước![]()
- Tất cả dữ liệu đều phải được nhập vào, nếu bỏ trống mà lưu thì excel sẽ báo lỗi, và cho con trỏ về ô trống đó
- Số lượng nhập vào phải là kiểu số, nếu không phải kiểu số hoặc = 0 thì excel thông báo lỗi.
- Ngày phải là kiểu số!
Chúc bạn thành công!- Có hai combobox để bạn chọn mã khách hàng và mã thuốc cho nhanh! trong Combobox có đầy đủ thông tin về khách hàng và tên thuốc, giúp bạn lựa chọn mã chính xác!
- Có thêm nút [Làm mới] để tự động xóa thông tin trên form để nhập lại!
- Có thêm thông tin về đơn giá và thành tiền để dễ kiểm tra ngay trên form.
Private Sub txtSoLuong_AfterUpdate()
If Me.txtDonGia = "" Or IsNull(Me.txtDonGia) Then Exit Sub
If IsNumeric(Me.txtSoLuong) And Me.txtSoLuong > 0 Then
Me.txtThanhTien = Me.txtSoLuong * Me.txtDonGia
Else
a = MsgBox("So luong phai la so va khong duoc nho hon bang 0", vbCritical + vbOKOnly, "Loi nhap lieu")
Exit Sub
End If
Me.txtSoLuong = Format(Me.txtSoLuong, "#,###,###.##0")
Me.txtThanhTien = Format(Me.txtThanhTien, "#,###,###.##0")
End Sub
Bạn ơi cho mình hỏi sửa định dạng VD: mình nhập 10 hộp mà dữ liệu nó ra : 10.000 mình dịnh dạn không được. Bỏ 3 số 0 đằng sau như thế nào vậy
Cái này là do Format cell của sheet, không liên quan tới Form! Bạn chọn vùng chứa [số lượng], [đơn giá], [thành tiền] và ấn Ctrl+1 và tùy chỉnh theo ý mình được mà!Giúp mình sửa định dạng với các bạn . Bn ca_dafi đã giúp mình sửa lại rồi nhưng tới dòng 39 lại bị lỗi định dạng kiểu 1,200.000 mà nó ra 1.20000. Mong các bạn sửa giúp mình vởi.
À còn một vấn đề nữa là ở Fom nhập dữ liệu , mặt hàn mình xuất tối đa là 4 mặt hàng . mà ở đây bạn ca_dafi thiết kế có 1 dòng lên hơi khó. vd một khách hàng xuất 3 mặt hàng đi thì mình phải nhập dữ liệu tới 3 lân lên hơi mất công các bạn giúp mình chính cái FOm vơi, Cảm ơn
Có 1 cách dễ nhất là bạn copy các TxtSL, DG... thành 4 và đổi tên thành TxtSL01, TxtDG01,...,TxtSL04.Giúp mình sửa định dạng với các bạn . Bn ca_dafi đã giúp mình sửa lại rồi nhưng tới dòng 39 lại bị lỗi định dạng kiểu 1,200.000 mà nó ra 1.20000. Mong các bạn sửa giúp mình vởi.
Mật Khẩu : ademin. À còn một vấn đề nữa là ở Fom nhập dữ liệu , mặt hàn mình xuất tối đa là 4 mặt hàng . mà ở đây bạn ca_dafi thiết kế có 1 dòng lên hơi khó. vd một khách hàng xuất 3 mặt hàng đi thì mình phải nhập dữ liệu tới 3 lân lên hơi mất công các bạn giúp mình chính cái FOm vơi, Cảm ơn
Trong code Sub CapNhapPhieu(). Bạn nghiên cứu thử xem. Thay vì.Offset(, 4).Value = frmNhapLieu.cboMahang
.Offset(, 5).Value = frmNhapLieu.txtTenHang
.Offset(, 6).Value = Val(Replace(frmNhapLieu.txtSoLuong, ",", ""))
.Offset(, 7).Value = Val(frmNhapLieu.txtDonGia)
.Offset(, 8).Value = Val(Replace(frmNhapLieu.txtThanhTien, ",", ""))
Private Sub Textbox9_AfterUpdate()
Me.TextBox10 = Me.TextBox9.Column(10)
Me.TextBox11 = Me.TextBox9.Column(2)
Me.TextBox12 = Me.TextBox9.Column(12)
Me.TextBox13 = Me.TextBox9.Column(3)
End Sub
Private Sub cmdAdd_Click()
Dim ws As Worksheet
Set ws = Worksheets("Du lieu bt")
ws.Range("B2").Value = Me.TextBox1.Value
ws.Range("B3").Value = Me.TextBox2.Value
ws.Range("B4").Value = Me.TextBox3.Value
ws.Range("B5").Value = Me.TextBox4.Value
ws.Range("B6").Value = Me.TextBox5.Value
ws.Range("B8").Value = Me.TextBox6.Value
ws.Range("B9").Value = Me.TextBox7.Value
ws.Range("B10").Value = Me.TextBox8.Value
ws.Range("B12").Value = Me.ComboBox1.Value
ws.Range("B13") = Me.TextBox10
ws.Range("B14") = Me.TextBox11
ws.Range("B15") = Me.TextBox12
ws.Range("B16") = Me.TextBox13
ws.Range("B17") = Me.TextBox14
ws.Range("B18") = Me.TextBox15
ws.Range("B19") = Me.TextBox16
ws.Range("B20") = Me.TextBox17
ws.Range("B21") = Me.TextBox18
ws.Range("B22") = Me.TextBox19
ws.Range("B23") = Me.TextBox20
ws.Range("B24").Value = Me.TextBox21.Value
ws.Range("B25").Value = Me.TextBox22.Value
ws.Range("B26").Value = Me.TextBox23.Value
ws.Range("B27").Value = Me.TextBox24.Value
ws.Range("B28").Value = Me.TextBox25.Value
ws.Range("B30").Value = Me.TextBox26.Value
ws.Range("B31").Value = Me.TextBox27.Value
ws.Range("B32") = Me.TextBox28
ws.Range("B33").Value = Me.TextBox29.Value
ws.Range("B36").Value = Me.TextBox30.Value
ws.Range("B35").Value = Me.TextBox31.Value
Me.TextBox31.SetFocus
End Sub
Private Sub ComboBox1_AfterUpdate()
'Me.TextBox10 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);10)"
'Me.TextBox11 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);2)"
'Me.TextBox12 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);12)"
'Me.TextBox13 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);3)"
'Me.TextBox14 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);4)"
'Me.TextBox15 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);5)"
'Me.TextBox16 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);6)"
'Me.TextBox17 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);8)"
'Me.TextBox18 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);7)"
'Me.TextBox19 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);9)"
'Me.TextBox20 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);11)*10000"
Me.TextBox28 = "=B30*3,1415*((B31)^2)"
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub ComboBox1_AfterUpdate()
'Me.TextBox10 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);10)"
'Me.TextBox11 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);2)"
'Me.TextBox12 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);12)"
'Me.TextBox13 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);3)"
'Me.TextBox14 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);4)"
'Me.TextBox15 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);5)"
'Me.TextBox16 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);6)"
'Me.TextBox17 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);8)"
'Me.TextBox18 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);7)"
'Me.TextBox19 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);9)"
'Me.TextBox20 = "=INDEX(BangThongSoThepHinh;MATCH(Sohieuthep;SoHieuThepHinh;0);11)*10000"
Me.TextBox28 = "=B30*3,1415*((B31)^2)"
End Sub
Private Sub ComboBox1_Click()
Dim Cot(), i
Cot = Array(9, 1, 10, 2, 3, 4, 5, 7, 6, 8, 11)
For i = 1 To 11
Me.Controls("TextBox" & 9 + i).Text = Me.ComboBox1.Column(Cot(i - 1))
Next
Me.TextBox28 = Evaluate("='" & Sheet1.Name & "'! B30*3.1415*(('" & Sheet1.Name & "'!B31)^2)")
End Sub
Private Sub cmdAdd_Click()
Dim i, Id(), Addr()
Id = Array(1, 2, 3, 4, 5, 6, 7, 8, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
Addr = Array("B2", "B3", "B4", "B5", "B6", "B8", "B9", "B10", "B12", "B13", "B14", "B15", "B16", "B17", "B18", _
"B19", "B20", "B21", "B22", "B23", "B24", "B25", "B26", "B27", "B28", "B30", "B31", "B32", "B33", "B36", "B35")
For i = 0 To 25
Sheet1.Range(Addr(i)) = Me.Controls(IIf(i = 8, "ComboBox", "Textbox") & Id(i))
Next
End Sub
Me.Controls("TextBox" & 9 + i).Text = Me.ComboBox1.Column(Cot(i - 1))
Bổ sung là em đã hiểu rồi ạ và có sửa lại thứ tự, hiểu nôm na là cột thứ 9 thì mình tìm thành cột thứ 8 còn tại sao thì em cũng chịu thua luôn.
Vì listbox đếm dòng đầu và cột đầu từ 0
Rồi em đã thủng anh ạ.
Thanks anh nhé, em đang ở Biên Hoà