excel - 无法将工作表复制到另一个工作簿
问题描述
我有一个看起来很小的问题,但不知道如何解决。所以,每周我都必须制作一堆数据透视表来总结我得到的原始数据。我想,如果我将所有表都创建到一个布局文件中,然后将它们复制到新文件中,然后更改源,那会容易得多。我写了以下代码:
Sub something()
Workbooks.Open Filename:="C:\\\\Layout.xlsx"
With Workbooks("Layout.xlsx")
.Sheets("Pivot").Copy Before:=ActiveWorkbook.Sheets("Main List")
.Close savechanges:=False
End With
End Sub
这段代码工作得很好。当我尝试将代码粘贴到我的个人工作簿中,然后直接通过 VBA 运行,而不是每次都复制和粘贴时,问题就出现了。
我可以做的是,将代码从“Activeworkbook”更改为我的新工作簿的名称,但它的名称每周都会更改,因为它是基于日期的。我已经尝试将新工作簿的名称声明为字符串并通过它调用它,但这也不起作用。
有任何想法吗?
解决方案
我会使用工作簿对象来保持两个文件清晰:
Sub something()
Dim wb_from As Workbook, wb_to As Workbook
Set wb_to = ActiveWorkbook
Workbooks.Open Filename:="C:\\\\Layout.xlsx"
Set wb_from = Workbooks("Layout.xlsx")
wb_from.Sheets("Pivot").Copy Before:=wb_to.Sheets("Main List")
wb_from.Close SaveChanges:=False
end sub
推荐阅读
- javascript - 如何将过程中的变量值传递给 Apex 中的 Javascript 函数
- c# - 使用 ClickOnce 时 chromedriver.exe 文件不存在
- python - 如何擦除 PyQt5 QPainter 中的点?
- javascript - 检查值是否在数组列表javascript中
- javascript - 如何在前端调用后端错误消息?
- r - 根据R中ggplot中的组为每个多边形着色
- superpower - Superpower:创建解析器以匹配“\r\n”或“\n”(更通用:匹配字符串文字)
- python - 如果熊猫数据框已经有两列,如何将它添加到另一个熊猫数据框?
- c - 我应该像介绍的那样使用 fflush 吗?有什么选择吗?
- python - 有人可以向我解释一下这一行:'\n'.join([f"{n} x {i} = {n*i}" for i in range(1,11)?