【VBA案例004】自动填充表单
407 字
2 分钟
【VBA案例004】自动填充表单
大家好!今天我们分享一个有关VBA自动填充表单的案例,帮助大家简化表单填写的过程,提高工作效率。
我们经常需要填写大量重复的表单,例如报销单、数据输入表格等,并且每个表单都有各自的字段需要填写。手动逐个填写这些表单既耗时又容易出错。
使用VBA自动填充表单可以极大地简化这一过程,让我们能够更专注于其他重要的工作。
譬如说,现在有两个表格,一个是人员清单,另一个的表单。

现在要做的是,将人员清单中的每一行信息,填到表单里,并导出为一个单独的工作簿。

下面是VBA的代码分享,你也可以观看下方的视频解析:
方法一:
Sub 表格填充()
Dim i, j, k
Dim xinXiSht As Worksheet Dim qingDanSht As Worksheet
Set xinXiSht = ThisWorkbook.Worksheets("信息卡") Set qingDanSht = ThisWorkbook.Worksheets("人员清单")
With qingDanSht For i = 2 To .Range("a" & .Rows.Count).End(xlUp).Row For j = 1 To 5 xinXiSht.Range("c" & j + 4) = .Cells(i, j) Next j
xinXiSht.Copy ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & .Range("a" & i) & ".xlsx" ActiveWorkbook.Close True Next i End With
End Sub方法二:
Sub 表格填充优化()
Dim i, j, k
Dim xinXiSht As Worksheet Dim qingDanSht As Worksheet
Set xinXiSht = ThisWorkbook.Worksheets("信息卡") Set qingDanSht = ThisWorkbook.Worksheets("人员清单")
Application.ScreenUpdating = False
Dim ar, br() With qingDanSht ar = .Range("a2:e" & .Range("a" & .Rows.Count).End(xlUp).Row) For i = 1 To UBound(ar) ReDim br(1 To 5, 1 To 1) For j = 1 To 5 br(j, 1) = ar(i, j) Next j xinXiSht.[c5].Resize(UBound(br)) = br xinXiSht.Copy ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ar(i, 1) & ".xlsx" ActiveWorkbook.Close True xinXiSht.[c5:c9].ClearContents Next i End With
Application.ScreenUpdating = TrueEnd Sub支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
【VBA案例004】自动填充表单
https://fanrich.eu.org/posts/程技/vba/vba案列/vba案例004自动填充表单/相关文章智能推荐
1
【VBA案例005】自动汇总表单
程技2023-10-23
2
【VBA案例011】合并工作表
程技2023-10-23
3
【VBA案例014】拆分工作表(上)
程技2023-10-23
4
【VBA案例015】拆分工作表(下)
程技2023-10-23
5
b表单处理
程技2023-05-15
随机文章随机推荐
樊笼










