摘要:你是否试过在一个工作表中录入数据,然后这些数据能自动存入到另一个工作表中?还可以马上查询数据。
你是否试过在一个工作表中录入数据,然后这些数据能自动存入到另一个工作表中?还可以马上查询数据。
这样的设置能够确保两个表格互不干扰,避免不小心更改已录入的数据。
看一下动态效果图:
下面,我将为你详细介绍如何实现这样的表格。
1、点击“插入”选项卡。在“插入”组中,选择“形状”按钮。
2、从弹出的形状菜单中选择一个你想要的按钮形状,圆角矩形。
3、在工作表上拖动鼠标,绘制出你想要的按钮大小和位置。
4、使用“形状格式”选项卡中的工具来调整按钮的外观,包括填充颜色、线条颜色、阴影效果等。
5、在按钮上显示文本,可以右键点击按钮,选择“添加文本”。然后输入你想要的按钮文本,如“录入”
1、在开发工具选项卡中,点击“Visual Basic”按钮
2、这将打开一个新的窗口,称为Visual Basic for Applications (VBA) 编辑器,在VBA编辑器的左侧窗格中,你会看到一个名为“录入表 ”的项目。
3、在左侧窗格中,找到并右击sheet1,在弹出的右键菜单中,选择“插入” > “模块”
4、双击新创建的模块,输入两段代码
我把代码放在下面,你可以直接拷贝就可以用。
Sub 录入数据
Set conn = CreateObject("adodb.connection")
conn.Open "provider= microsoft.ace.oledb.12.0;" & _
"extended properties=excel 8.0;data source=" & _
ThisWorkbook.Path & "\数据库.xls"
For i = 1 To 5
If i = 1 Then
a = "'" & Cells(i, "b") & "'"
Else
a = a & ",'" & Cells(i, "b") & "'"
End If
Next i
conn.Execute "insert into [sheet1$] values(" & a & ")"
conn.Close
Set conn = Nothing
MsgBox "保存成功 "
End Sub
Sub 查询数据
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
conn.Open "provider= microsoft.ace.oledb.12.0;" & _
"extended properties=excel 8.0;data source=" & _
ThisWorkbook.Path & "\数据库.xls"
a = "出入库 like '%" & [b1] & "%' and 名称 like '%" & _
[b2] & "%' and 领用人 like '%" & [b4] & "%'"
rs.Open "select * from [sheet1$] where " & a, conn
[a8:e65536] = ""
[a8].CopyFromRecordset rs
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
End Sub
如果开发工具选项卡找不到,步骤如下:
1、点击Excel左上角的“文件”按钮,然后选择“选项”。
2、在Excel选项对话框中,选择左侧的“自定义功能区”。
3、在右侧的主选项卡列表中,找到并勾选“开发工具”。
4、点击“确定”按钮以保存设置。
1、右击录入按钮,Excel会自动弹出一个“指定宏”对话框。
2、在“宏名”下拉列表中,选择你刚刚编写的宏(录入数据)。
3、点击“确定”。
4、同样的方法,为查询按钮指定宏。
第四步:保存工作簿
请注意,为了确保VBA代码能够保存,你需要将录入表的工作簿保存为支持宏的文件格式,例如“.xlsm”后缀名(而不是“.xlsx”,因为“.xlsx”后缀名的Excel表无法保存VBA代码)。
而数据库这个表格,你可以直接保存为“.xlsx”文件。
至此,我们已经完成了Excel自动化数据录入和查询功能的全部设置。
通过简单的按钮点击,你就可以轻松地将数据录入到另一个工作表中,同时确保两个表格的数据互不干扰,大大提高了工作效率和准确性。
希望这篇文章能够帮助你更好地掌握Excel的高级功能,并在日常工作中发挥更大的作用。
来源:瞎搞制作