- Tham gia
- 25/6/08
- Bài viết
- 2,900
- Được thích
- 12,082
- Giới tính
- Nam
Nhờ anh chị giúp em cảnh báo khi nhập dữ liệu trùng (đã nhập rồi) và không tồn tại trong list cho trước. Yêu cầu cụ thể trong file đính kèm.
PS: Trong đó list cho trước thường xuyên cập nhật
Cảm ơn rất nhiều!
VBA thì là chuyện nhỏ, nhưng công thức là chuyện lớn.
Mấy cái msgbox đó thay cái quỷ gì đó thì tuỳ nhaVấn đề nằm ngay đó đó anh, em đang đi nhờ cái chuyện nhỏ đó.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, [B5:B10000]) Is Nothing Then
Dim tim As Range
Set tim = Range([B5], Target.Offset(-1)).Find(Target, , , 1)
If tim Is Nothing Then
Set tim = Sheet1.[B:B].Find(Target, , , 1)
If tim Is Nothing Then
MsgBox "Not Data Existing"
Target = ""
Target.Select
End If
Else
MsgBox "Data Existing"
Target = ""
Target.Select
End If
End If
Application.EnableEvents = True
End Sub
Công thức cho Validation
Mã:=AND(COUNTIF(Sheet1!$B$4:$B$18,B5)>0,COUNTIF($B$5:$B$20,B5)=1)
Mấy cái msgbox đó thay cái quỷ gì đó thì tuỳ nha
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, [B5:B10000]) Is Nothing Then Dim tim As Range Set tim = Range([B5], Target.Offset(-1)).Find(Target, , , 1) If tim Is Nothing Then Set tim = Sheet1.[B:B].Find(Target, , , 1) If tim Is Nothing Then MsgBox "Not Data Existing" Target = "" Target.Select End If Else MsgBox "Data Existing" Target = "" Target.Select End If End If Application.EnableEvents = True End Sub
khúc này của Anh hay thiệt nó gần giống như Vlookup còn nhanh hơn Vlookup rất nhiềuMấy cái msgbox đó thay cái quỷ gì đó thì tuỳ nha
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, [B5:B10000]) Is Nothing Then Dim tim As Range Set tim = Range([B5], Target.Offset(-1)).Find(Target, , , 1) If tim Is Nothing Then Set tim = Sheet1.[B:B].Find(Target, , , 1) If tim Is Nothing Then MsgBox "Not Data Existing" Target = "" Target.Select End If Else MsgBox "Data Existing" Target = "" Target.Select End If End If Application.EnableEvents = True End Sub
Set tim = Sheet1.[B:B].Find(Target, , , 1)
Target.Offset(, 3) = Sheet4.[A:A].Find(Target).Offset(, 1)