1/8在Excel表格表格的菜单栏上面点击【开发工具】,【Visual Basic】打开VBA编辑器。
2/8在VBA编辑器的菜单栏上面点击【插入】,【模块】。
3/8在代码框里面输入一下代码:
Sub MatchIput()
Dim i, j, m, k As Long '数据类型定义
Dim msg, style, title, ans
On Error Resume Next '如果运行过程中出错,则忽略
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表
Set mysheet2 = ThisWorkbook.Worksheets("Sheet2") '定义工作表
msg = "该用户信息已经存在,是否替换?"
style = vbYesNoCancel + vbDefaultButton3 '显示 “是” “否” “取消”三个按钮
title = "温馨提示"
m = Application.WorksheetFunction.Match(mysheet1.Cells(2, 2), mysheet2.Range("A1:A1000"), 0)
'计算单元格所在的位置
If m >= 1 Then '如果数据表里面已经存在,则弹出提示窗口,然后进行选择
ans = MsgBox(msg, style, title) '弹出提示
If ans = vbYes Then '如果选择“是”,则原来表格里面的数据将会被替换
For j = 1 To 4 '填充该单元格所在位置的1-4列
mysheet2.Cells(m, j) = mysheet1.Cells(j + 1, 2)
Next
End If
If ans = vbNo Then '如果选择“否”,则在原来表格里面找到空白的单元格写入
For k = 2 To 1000
If mysheet2.Cells(k, 1) = "" Then
For j = 1 To 4
mysheet2.Cells(k, j) = mysheet1.Cells(j + 1, 2)
Next
Exit For
End If
Next
End If
Else '如果不存在,则在原来数据表格里面找到一行空白进行填充
For k = 2 To 1000
If mysheet2.Cells(k, 1) = "" Then
For j = 1 To 4
mysheet2.Cells(k, j) = mysheet1.Cells(j + 1, 2)
Next
Exit For
End If
Next
End If
End Sub
4/8回到Sheet1工作表界面,点击菜单栏上面的【插入】,在形状里面选择“矩形”插入到表格上面,然后填充所需的颜色、文字。
5/8在已经绘制后的矩形图上面单击右键,选择“指定宏”。
6/8在“指定宏”对话框里面选择已经编写的VBA名称,如:MatchIput。
7/8在要录入信息的区域录入信息,然后点击“录入”即可录入信息。
8/8如果录入的信息(姓名)在原来的表格在原来表格里面已经存在,则会弹出提示信息,之后进行选择。
如果选择“是”则执行替换原来的信息;如果选择“否”,则会新增一行信息;如果选择“取消”,则不会录入信息。