Bạn nên thiết lập 1 file giả lập, mô tả nội dung thường dùng để nhập, xác định khi nào thì bắt đầu đối chiếu trùng (so sánh ngay ký tự đầu tiên?).Mọi người có ai biết cách không cho nhập trùng dữ liệu trong form vba không vậy giúp mình với
Không cho nhập trùng trên Form hay trên trang tính vậy bạn, theo mình đoán là trên trang tính?Mọi người có ai biết cách không cho nhập trùng dữ liệu trong form vba không vậy . . . .
thank bn nha mik mới dạo 1 vòng thì viết dc code nàyKhông cho nhập trùng trên Form hay trên trang tính vậy bạn, theo mình đoán là trên trang tính?
Vậy dữ liệu nhập sẽ là chuỗi hay số hay kiểu gì khác?
Góp ý: Bạn nên gõ Tiếng Việt đầy đủ dấu, nhằm diễn giải rõ ràng cũng như tôn trọng người đọc. Bạn mới tham gia có thể không biết, thành viên mà bạn vừa trả lời đã hơn 70 tuổi, bác ấy cũng như nhiều thành viên khác rất "ngại" những bài viết được viết tắt như vậy.thank bn nha mik mới dạo 1 vòng thì viết dc code này
xài cũng ổn lắm theo ý kiến của bn như này dc hk
- Dim LastCell As Range
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- On Error Resume Next
- Application.ScreenUpdating = False
- Cells(1) = "=COUNTIF(a2:z1000," & LastCell.Address & ")"
- If Cells(1) = 0 Then GoTo thoat
- If Not LastCell Is Nothing And Cells(1) > 1 And LastCell <> "" Then
- MsgBox "Nhap trung"
- LastCell.ClearContents
- Beep
- End If
- thoat:
- Set LastCell = ActiveCell
- End Sub
xin lỗi vì chưa nắm rõ những quy tắt ở đây tôi sẽ cố gắng khắc phục.Góp ý: Bạn nên gõ Tiếng Việt đầy đủ dấu, nhằm diễn giải rõ ràng cũng như tôn trọng người đọc. Bạn mới tham gia có thể không biết, thành viên mà bạn vừa trả lời đã hơn 70 tuổi, bác ấy cũng như nhiều thành viên khác rất "ngại" những bài viết được viết tắt như vậy.
Bạn hỏi nhập trùng trong Form nhưng viết code sự kiện trên Sheet? Như thế phù hợp không?
Tham khảo: tạo UserForm có TextBox1, code trong UserForm như sauxin lỗi vì chưa nắm rõ những quy tắt ở đây tôi sẽ cố gắng khắc phục.
vậy bạn có thể giúp tôi viết code nhập trùng trên form được không?
xin cảm ơn góp ý của bạn!
Private Sub TextBox1_Change()
Dim Rng As Range, xFnd As Range
Set Rng = Sheet1.Range("A:A")
If Len(TextBox1.Value) > 0 Then
Set xFnd = Rng.Find(TextBox1.Value, , , 1, , , 1)
If Not xFnd Is Nothing Then
MsgBox "Nhâp trùng"
TextBox1.Value = Null
End If
End If
End Sub
Cái này sẽ khó đúng, nếu ta cần tìm để phát hiện ngày trùng trong 1 cột ('A')Tham khảo: tạo UserForm có TextBox1, code trong UserForm như sau
Mã:Private Sub TextBox1_Change() Dim Rng As Range, xFnd As Range, Lr As Long Set Rng = Sheet1.Range("A:A") If Len(TextBox1.Value) > 0 Then Set xFnd = Rng.Find(TextBox1.Value, , , 1, , , 1) If Not xFnd Is Nothing Then MsgBox "Nhâp trùng" TextBox1.Value = Null End If End If End Sub
Theo như bạn leonguyenz bảo thì cháu xin phép xưng là cháu với bác vậyCái này sẽ khó đúng, nếu ta cần tìm để phát hiện ngày trùng trong 1 cột ('A')
Không nên dùng sự kiện Change vì cứ hẽ gõ 1 ký tự hay xoá 1 ký tự là code chạy. Hãy sử dụng sự kiện Exit hoặc tốt nhất là BeforeUpdate. Lý do BeforeUpdate có tham số Cancel, nếu sai thì gán Cancel = True và bắt sửaTham khảo: tạo UserForm có TextBox1, code trong UserForm như sau
Mã:Private Sub TextBox1_Change() ... End Sub