Làm thế nào để nhập dữ liệu trong một cột của excel không trùng nhau?

  • Thread starter phnam77
  • Ngày gửi
P

phnam77

Guest
8/10/05
7
0
1
46
Ha noi
Chào các bạn trên diễn đàn,
Hiện tại công việc của mình đang có 1 việc phải nhập dữ liệu vào 1 cột của excel nhưng dữ liệu cột đó không được trùng nhau hoặc nếu trùng nhau thì sẽ báo là trùng với dữ liệu ô nào. Bạn nào có cách gì xin chỉ giúp.
Xin cảm ơn nhiều.
Phạm Hoài Nam
YM: pham_hoai_nam
email: pham_hoai_nam@yahoo.com
 
Khóa học Quản trị dòng tiền
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Để làm theo yêu cầu của bạn chúng ta có thể sử dụng các cách sau:
_Dùng format conditional.
_Dùng VBA để kiểm tra mỗi khi bạn nhập vào/Nếu trùng thì thông báo cho bạn biết trùng tại hàng nào.
Cách sau thì linh động hơn.


Lê Văn Duyệt
 
C

CSLAMVIEN

Guest
31/8/06
5
0
0
Thu Duc-Tp.HCM
Bạn có thể dùng hàm COUNTIF(), nó đơn giản hơn, mình hay sử dụng nó mỗi khi nhập invoice
 
S

Song Huong

Cao cấp
phnam77 nói:
Chào các bạn trên diễn đàn,
Hiện tại công việc của mình đang có 1 việc phải nhập dữ liệu vào 1 cột của excel nhưng dữ liệu cột đó không được trùng nhau hoặc nếu trùng nhau thì sẽ báo là trùng với dữ liệu ô nào. Bạn nào có cách gì xin chỉ giúp.
Xin cảm ơn nhiều.
Phạm Hoài Nam
YM: pham_hoai_nam
email: pham_hoai_nam@yahoo.com
Bạn dùng thủ tục sau để kiểm tra trùng dữ liệu trên cùng một cột.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo MyErr
' Khai bao cac bien
Dim ColSelect, RowSelect, CurValue, ColValue, Counter, BegRow, EndRow, i, j
BegRow = 1
EndRow = 65536

' Xac dinh cot, dong can so sanh.
Counter = 0

For Each Item In Selection

ColSelect = Item.Column
RowSelect = Item.Row - 1
Exit For
Next Item

' So sanh gia tri

CurValue = Cells(RowSelect, ColSelect).Value
Counter = 0

For j = BegRow To EndRow
ColValue = Cells(j, ColSelect).Value
If j <> RowSelect And CurValue = ColValue And RTrim(Trim(CurValue)) <> "" Then
Counter = Counter + 1
Exit For
End If

Next j


If Counter > 0 Then
MsgBox "There are duplicate key entries", vbInformation + vbOKOnly, "Warning .."
End If
MyErr:
Resume Next
End Sub

Thân
 

Đính kèm

  • Check For duplicate key entries.rar
    10.8 KB · Lượt xem: 954
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Dùng ngay Validation cũng được đấy! Bài này đã có người hướng dẫn hình như khá lâu rồi. Tôi xin phép mô tả sơ lại cách làm (cho các bạn chưa rành Excel)
Giả sử bạn không muốn nhập dữ liệu trùng trong cột A, bạn chọn cột A, vào Data - Validation, trong mục Setting chọn Custome, nhập vào:
=COUNTIF(A:A;A1)<=1

Giải thích: Validation sẽ đếm giá trị trong ô hiện hành bằng hàm COUNTIF (ở đây là A1, vì công thức không cố định A1 nên sang ô khác nó sẽ là A2, A3....) trong tất cả cột A, ràng buộc điều kiện chỉ nhỏ hơn hoặc = 1. (Hoặc là nhỏ hơn 2 cũng được). Do đó, nếu bạn nhập trùng 2 giá trị thì nó sẽ báo lỗi của Validation.
Lưu ý: Nó sẽ không có tác dụng nếu bạn dùng lệnh copy - paste, cũng giống như các Validation khác.
 
M

minhson07

Guest
27/6/11
1
0
0
Tp.HCM
Chào bạn,
Cách làm này áp dụng xét trùng khóa của tất cả các cột trong excel, có cách nào mình chỉ xét trên 1 cột nào đó thôi không ?

Cám ơn bạn

Chào bạn,
Cách làm này áp dụng xét trùng khóa của tất cả các cột trong excel, có cách nào mình chỉ xét trên 1 cột nào đó thôi không ?

Cám ơn bạn
 
T

truongmyngoc

Trung cấp
1/11/10
92
0
0
35
quảng ngãi
Chào bạn,
Cách làm này áp dụng xét trùng khóa của tất cả các cột trong excel, có cách nào mình chỉ xét trên 1 cột nào đó thôi không ?


bạn muốn xét một cột thì chọn cột đó rùi làm giống y như vậy không có gì khác cả
 
Q

quangtinit

Guest
5/7/11
1
0
0
39
quảng ngãi
Làm sao để xét theo hàng vậy, nhờ các bạn hướng dẫn mình với, cảm ơn

Làm sao để xét theo hàng vậy, nhờ các bạn hướng dẫn mình với, cảm ơn
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA