从其他工作表复制数据到当前打开的工作表?
我试图将数据从一个Excel复制到另一个,然后刷新所有透视表中的表格。 面临的问题在这里下面的macros告诉我打开表总是我需要复制我的数据。 请帮助我,因为我不想再次打开我的第二个文件。
Sub UReport() ' ' UReport Macro ' ' Keyboard Shortcut: Ctrl+Shift+T ' Dim x As Workbook Dim y As Workbook '## Open both workbooks first: Set x = Workbooks.Open("C:\Reports\HC Report.xlsx") Set y = Workbooks.Open("C:\Reports\Main Tracker.xlsx") 'Now, copy what you want from x: x.Sheets("HC Report").Range("A2:FI7004").Copy 'Now, paste to y worksheet: y.Sheets("My Data").Range("A2:FI7004").PasteSpecial Sheets("Dashboard").Select ActiveWorkbook.RefreshAll Sheets("My Data").Select 'Close x: x.Close End Sub
Sheets("Dashboard").Select ActiveWorkbook.RefreshAll Sheets("My Data").Select
这是不明确的。 ActiveWorkbook
是y
。 如果工作表“仪表板”在y
中不存在,那么您将有错误。 如果是这个问题,那么使用:
x.Sheets("Dashboard").Select
就像你以前用其他床单一样!
顺便说一句,如果你不想任何屏幕更新,因为文件打开可能会很长(也可能导致错误),请使用
Application.ScreenUpdating = false 'at the beginning of sub ' code here Application.ScreenUpdating = true ' at the end of sub