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

Thành viên sơ cấp
8/10/05
7
0
1
40
Ha noi
#1
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
 
L

levanduyet

Welcome
16/10/04
535
11
18
HCM
my.opera.com
#2
Để 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

Thành viên sơ cấp
31/8/06
5
0
0
Thu Duc-Tp.HCM
#4
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

Thành viên thân thiết
#5
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

adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#6
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

Thành viên sơ cấp
27/6/11
1
0
0
Tp.HCM
#7
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

Thành viên sơ cấp
1/11/10
92
0
0
30
quảng ngãi
#8
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

Thành viên sơ cấp
5/7/11
1
0
0
33
quảng ngãi
#9
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:

Thành viên trực tuyến

  • ngochakipo
  • NoithatAhome
  • anhdeptrai2511
  • Huyền Mia
  • phamtienthanh
  • Doãn Thanh Nga
  • Nguyễn Hồng Quang
  • okletsgono123
  • Selena Luong
  • conquytrungdu
  • namkon
  • tieuthu_007
  • vananh181888

Xem nhiều