snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ปัญหามีดังนี้
1.อาจจะมาจากความรู้ด้านนี้ยังน้อยตอนนี้เลยสามารถเขียนขึ้นมาได้แบบธรรมดา
2.ที่ต้องการรับคำแนะนำดังรูป เช่นต้องการลงข้อมูลในส่วนของ IS : OTP199 จะไม่สามารถลงข้อมูล JN เป็น 011 แะ 012 ได้
3.ตอนนี้สามารถเขียนโค๊ดแบบธรรมดาได้ดังนี้
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("c:c"), Target) > 1 Then
MsgBox "Duplicate Entry"
Target.Value = ""
End If
End Sub
4.แนวคิดตอนนี้คือจะใช้คำสั่ง .Find ในการตรวจสอบ แต่ไม่ทราบว่าจะเริ่มอย่างไรดี
5.ควรเริ่มอย่างไรดีครับใน Youtube ผมหากรณีนี้ไม่เจอเลยครับพิมพ์ภาษาอังกฤษในการค้นหาแล้ว
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Then
If Target.Value = "" Then Exit Sub
If Target.Column = 2 Then
If Application.CountIfs(Range("b:b"), Target, Range("c:c"), _
Target.Offset(0, 1)) > 1 Then
MsgBox "Duplicate Entry"
Target.Value = ""
End If
Else
If Application.CountIfs(Range("b:b"), Target.Offset(0, -1), _
Range("c:c"), Target) > 1 Then
MsgBox "Duplicate Entry"
Target.Value = ""
End If
End If
End If
End Sub