1 问题
给定N个小组, 将100个人划入N个小组中
此时其中某人从小组A移至小组B, 在小组B中输入某人的名字, 小组A中某人的名字自动清除
2 分析
vlookup适合处理2列数据的对比, 多列的还未用过
如果使用编程思想, 遍历行列数据与当前单元格比较, 二者相同则将旧单元格数据清空即可, 简单明了
此时就用到了vba, 即宏
3 解决
Change事件, 监测单元格数值的变化
假定表格范围为15行, 7列
Private Sub Worksheet_Change(ByVal Target As Range)
Const row As Integer = 15
Const column As Integer = 7
Dim cRow, cColumn As Integer
cRow = Target.row
cColumn = Target.column
For r = 1 To row
For c = 1 To column
If Len(Target.Value) > 0 And (cRow <> r Or cColumn <> c) And Cells(r, c) = Target.Value Then
Cells(r, c).Clear
MsgBox ("Clear cell at (" & r & ", " & c & ")")
End If
Next c
Next r
End Sub
4 效果
info.gif5 引申
Excel对象: Application, Workbooks, Sheets, Range, Cells
网友评论