软件下载 > 应用软件 > 办公软件 > Microsoft Office Excel2007使用技巧 > VBA EXCEL批量平衡复制数据

VBA EXCEL批量平衡复制数据

软件分类:办公软件大小:未知时间:2023-11-07
软件介绍:Excel 2007是一款老牌的办公软件套装,excel2007内存占用低,运行速度快,体积小巧。excel2007具有强大插件平台支持,zol提供Excel 2007官方下载。

在日常任务中,频繁地手动整合多个工作簿和工作表的数据操作是否令您疲惫不堪?现借此分享我运用VBA自动化技巧高效复制数据的经验,期待为同行们带来实质性的便利。

1、 按照下图整理需要统计的来源文件夹(当前文档目录下的文件夹),工作薄名,工作表名,目标文件夹(当前文档目录下的文件夹),目标工作薄,工作表,对应返回数据(可以为空),是否更新,?亲!格式不一样也可以哦,需要微调代码啊!

VBA EXCEL批量平衡复制数据

2、 启用开发工具选项卡;1,点击选项,2,点击自定义功能区,3,勾选开发工具

VBA EXCEL批量平衡复制数据

3、 设置控件;1,插入命令控件;2,修改控件名称及显示名;

VBA EXCEL批量平衡复制数据

4、 ?进入VBA编程界面;复制以下代码到编辑窗口Private Sub 查询更新数据_Click()config = vbYesNo + vbQuestion + vbDefaultButton1?ans = MsgBox("你确认更新数据吗?", config, "提示")? ? If ans = vbYes Then? ? ?Dim cnn As Object, rs As Object, SQL$, i&, A&, B&, C&, D&, E&, sFile$? ? ?Dim wb As Object, ws As Object? ? ?Dim wb1 As Object, ws1 As Object ? ?"取得当前工作表的最后行列? ?C = ActiveSheet.UsedRange.Rows.Count? ?E = ActiveSheet.UsedRange.Columns.Count ? ? ? ?"创建需要更新工作表的循环数据 ? For D = 2 To C ? ? ? ?"来源文件夹? ? ? sFile1 = ActiveSheet.UsedRange.Cells(D, 1).Text ? ? ? ? ? "来源工作薄? ? ? sFile2 = ActiveSheet.UsedRange.Cells(D, 2).Text? ? ? ? ? "来源工作表? ? ? sFile3 = ActiveSheet.UsedRange.Cells(D, 3).Text ? ? ? ? ? ?"目标文件夹? ? ? sFile4 = ActiveSheet.UsedRange.Cells(D, 4).Text? ? ? ? ?"目标工作薄? ? ? sFile5 = ActiveSheet.UsedRange.Cells(D, 5).Text ? ? ? ?"目标工作表? ? ? sFile6 = ActiveSheet.UsedRange.Cells(D, 6).Text ? ? ? ?"对应返回数据? ? ? sFile7 = ActiveSheet.UsedRange.Cells(D, 7).Text ? ? ? ? ?"是否更新? ? ? sFile8 = ActiveSheet.UsedRange.Cells(D, 8).Text ? ? ? ? ?"来源路径? ? ?If sFile1 = "" Then? ? ? ?sFile9 = ThisWorkbook.Path & "" & sFile2 & ".xlsx"? ? ? ?Else? ? ? ?sFile9 = ThisWorkbook.Path & "" & sFile1 & "" & sFile2 & ".xlsx"? ? ? ?End If? ? ? ? "目标路由? ? ?If sFile4 = "" Then? ? ? ?sFile10 = ThisWorkbook.Path & "" & sFile5 & ".xlsx"? ? ? ?Else? ? ? ?sFile10 = ThisWorkbook.Path & "" & sFile4 & "" & sFile5 & ".xlsx"? ? ? ?End If? ? ? ? ? ? "判断是否查询? ? ? ? ? ? ?If sFile8 = "是" Then? ? ? ? ? ? ? Cells(1, 11) = "正在更新:" & sFile2 & sFile3? ? ? ? ? ? ? "锁定工作薄焦点 ? ? ? ? ? ? ? ? ? ?Application.ScreenUpdating = False? ? ? ? ? ? ? Application.ShowWindowsInTaskbar = False? ? ? ? ? ? ? "打开来源工作薄,工作表? ? ? ? ? ? ? ?Set wb = Workbooks.Open(sFile9, False, False)? ? ? ? ? ? ? ?"打开目标工作薄,工作表? ? ? ? ? ? ? ?Set wb1 = Workbooks.Open(sFile10, False, False) ? ? ? ? ? ? ?"返回数据及更新时间? ? ? ? ? ? ? ?Cells(D, 9) = Now()? ? ? ? ? ? ? ?"设置平行复制起止行数? ? ? ? ? ? ? ? ? For A = 1 To 95? ? ? ? ? ? ? ? ? ? "设置平行复制起止列数? ? ? ? ? ? ? ? ? ? ?For B = 1 To 30? ? ? ? ? ? ? ? ? ? ? "设置对应关系? ? ? ? ? ? ? ? ? ? ? ?wb1.Worksheets(sFile6).Cells(A, B) = wb.Worksheets(sFile3).Cells(A, B).Value ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Next? ? ? ? ? ? ? ? ? ? Next? ? ? ? ? ? ? ? wb.Close Savechanges:=True? ? ? ? ? ? ? ? wb1.Close Savechanges:=True ? ? ? ? ? ? ? ? ? ? ? ? ?"解除工作薄焦点 ? ? ? ? ? ? ? ? ? ? ?Application.ShowWindowsInTaskbar = True? ? ? ? ? ? Application.ScreenUpdating = True ? ? ? ? ? ? ? ? Cells(1, 11) = "更新完成!"? ? ? ? End If? ? ? ? Next? MsgBox "更新完成!", vbInformation? If ans = vbNo Then? Exit SubEnd If?End IfEnd Sub

VBA EXCEL批量平衡复制数据

文章标题:VBA EXCEL批量平衡复制数据

文章链接://www.hpwebtech.com/jiqiao/210314.html

为给用户提供更多有价值信息,ZOL下载站整理发布,如果有侵权请联系删除,转载请保留出处。

Microsoft Office Excel2007软件简介

excel2007是2007版的Microsoft Office中的重要模块组件,Excel2007可以在电脑上编写电子表格,是最好用的办公软件,可以满足用户对表格的自定义编辑,还具有强大的图形功能,功能全面。zol提供excel2007官方版下载。excel2007具有强大插件平台支持,免费提供海量在线存储空间及wps文字文档模板,支持阅读和输出PDF文件,全... 详细介绍»