Excel表格使用VBA进行数据录入
来源:网络收集 点击: 时间:2024-02-18在Excel表格表格的菜单栏上面点击【开发工具】,【Visual Basic】打开VBA编辑器。

在VBA编辑器的菜单栏上面点击【插入】,【模块】。

在代码框里面输入一下代码:
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

回到Sheet1工作表界面,点击菜单栏上面的【插入】,在形状里面选择“矩形”插入到表格上面,然后填充所需的颜色、文字。


在已经绘制后的矩形图上面单击右键,选择“指定宏”。

在“指定宏”对话框里面选择已经编写的VBA名称,如:MatchIput。

在要录入信息的区域录入信息,然后点击“录入”即可录入信息。



如果录入的信息(姓名)在原来的表格在原来表格里面已经存在,则会弹出提示信息,之后进行选择。
如果选择“是”则执行替换原来的信息;如果选择“否”,则会新增一行信息;如果选择“取消”,则不会录入信息。

个人经验,仅供参考,不足之处,欢迎指正。
EXCELVBA版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_70594.html