进入vba编辑器,双击如图所示,进入ThisWorkbook代码编辑窗口,复制下面代码
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)Dim i As Integeri = Application.WorksheetFunction.CountIf(Range("B:B"), Target.Value)If i > 1 Then Target.Delete xlShiftUpEnd Sub
Workbook_SheetChange为工作薄内部事件,当用户更改工作表中的单元格或者外部链接引起单元格的更改时,产生此事件。参数Target为发生更改的区域。
使用excel内置函数 CountIf 计算区域中满足给定条件的单元格的个数。delete方法删除刚刚修改的范围,xlShiftUp指定删除单元格时替补单元格的移位方式为向上。