您的位置:首页 > 其它

EXCEL中同一列避免重复数据[原创]

2010-06-25 10:27 246 查看
宏代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long
If Split(ActiveCell.Address, "$")(2) = 1 Then Exit Sub '活动单元格是最顶上的单元格时退出SUB
For i = 1 To (Split(ActiveCell.Address, "$")(2) - 2)
If Range(Split(ActiveCell.Address, "$")(1) & i).Value = Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Value And Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Value <> "" Then
Range(Split(ActiveCell.Address, "$")(1) & i).Interior.Color = RGB(200, 160, 35)
Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Interior.Color = vbRed
Dim RC
RC = MsgBox("IMEI号:" & Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Value & "与单元格" & Split(ActiveCell.Address, "$")(1) & i & "的IMEI号重复!是否处理?", vbYesNo + vbQuestion, "号码重复!是否处理? ------Powered By 游虫")
If RC = vbYes Then
Range(Split(ActiveCell.Address, "$")(1) & i).Interior.ColorIndex = False
Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Interior.ColorIndex = False
Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Value = ""
Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Select
Exit Sub
End If
End If
Next i
End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: