利用ExcelVBA实现源数据自动导入及数据刷新
工具/原料
MicrosoftExcel2010
方法/步骤
1、新建启用宏的工作薄,另存为“示例1“,插入模块1
2、双击模块1,将以下代码粘贴到代码窗口内Sub示例1()Application.Scr娣定撰钠eenUpdati荏鱿胫协ng=False'取消屏幕更新Application.DisplayAlerts=False'取消错误警告'设置当前用户桌面路径Dimdesktop_pathAsStringdesktop_path=Environ("userprofile")&"\Desktop"'导入发运明细,并刷新Sheet1中数据'第一步:清空Sheet2表中所有单元格数据Workbooks("示例1.xlsm").Worksheets("Sheet2").ActivateCells.SelectSelection.Clear'第二步:将导出数据保存到桌面,命名为“源”,打开后复制所有单元格,此处需注意excel工作薄保存的后缀名,如果为”.xlsx“,需相应地更改为”.xlsx“Workbooks.Open(desktop_path&"\"&"源.XLS")'此处使用设置好的桌面路径“desktop_path”,打开名称为“源”的文件Cells.SelectSelection.Copy'第三步:将复制内容粘贴到Sheet2中,并关闭“源”工作薄Workbooks("示例1.xlsm").ActivateWorksheets("Sheet2").Range("A1").SelectSelection.PasteSpecialPaste:=xlPasteAll,Operation:=xlNone,SkipBlanks_:=False,Transpose:=FalseWorkbooks("源.XLS").Close'第四步:刷新透视表DimshtAsWorksheet,iForEachshtInWorksheetsIfsht.PivotTables.Count>0ThenFori=1Tosht.PivotTables.Countsht.PivotTables(i).PivotCache.RefreshNextEndIfNextMsgBox("已更新完成!")Workbooks("示例1.xlsm").Worksheets("Sheet1").ActivateEndSub
3、点击”调试“菜单,选择”逐语句(快捷键F8)“,调试成功后关闭代码编辑窗口即可
4、插入表单控件的按钮功能,方便直观地调用宏代码
5、选择名称为”示例1“的宏
6、点击按钮后宏运行成功