excel - 将工作表从关闭的工作簿复制到活动工作簿工作表并附上说明
问题描述
我知道这可能是非常基本的,但我找不到一个有效的一致代码。
我正在尝试将共享驱动器位置上已关闭文件中的第一个也是唯一一个工作表复制到我要从中运行宏的活动工作簿的第一个工作表中。
如果有人可以分享任何帮助,解释一下很棒的步骤代码。
谢谢
解决方案
VBA Excel 程序员最有用的功能之一是Excel macro recorder
. 我经常使用记录器来了解 Excel 如何编写代码来实现我通过鼠标单击和菜单选择执行的操作。
切入正题。假设我的源工作簿名为 katy_movies.xlsx,其中包含已查看/最喜欢的电影标题和各种单元格格式的列表。假设我打开了该电子表格并希望将其复制并粘贴(保留源格式)到另一个工作簿中的空白工作表中。这几乎是宏记录器根据我的鼠标点击和菜单选择“编写”的全部代码(我做了 2 次调整)。
注意: 我的原始解决方案无法打开闭源工作簿。这是执行此操作的代码,并且作为奖励,在复制/粘贴操作后关闭源代码:
Sub Macro3()
'
' Macro3 Macro (recorded by excel macro recorder)
'
Workbooks.Open Filename:="\path\to\katy_movies.xlsx"
End Sub
Sub Macro2()
'
' Macro2 Macro
'
Macro3
Windows("katy_movies.xlsx").Activate
Cells.Select
Selection.Copy
Windows("Book1").Activate
Range("A1").Select ' I manually added this line to ensure a valid paste locn
' for an entire worksheet
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Range("A1").Select ' Manually added this line to unselect all cells following
' paste operation.
Range("A1").Copy ' Effectively empty clipboard to stop Excel from whining
' about the next Close operation.
Windows("katy_movies.xlsx").Close ' close the briefly opened spreadsheet
' force focus back to original worksheet
Windows("Book1").Activate
End Sub
我不能足够强调宏记录器的有用性......
推荐阅读
- r - 首先在 geom_point 中绘制 NA 值
- r - 绘制由 R 中的变量指定的函数
- postgresql - postgres“交易空闲”13小时
- c# - 无法在 Visual Studio 2019 中创建可调试的 C# 项目
- swift - 如何在 SwiftUI 中使用 onReceive 从 ObservedObject 获取数据?
- azure - 如何使用 X.509 证书对设备进行身份验证(R-Pi 说要连接到 Azure IoT Hub)
- javascript - 使用ajax将值传递给JQuery select2
- java - 如何减少 TcpOutboundGateway 的超时?
- stata - 使用前几个观察结果附加大型数据文件
- r - 如何刻面 plot_ly() 图表?