【发布时间】:2020-01-10 20:02:57
【问题描述】:
这似乎是一个简单的问题,但我似乎无法在 Google 上找到正确的答案。
我想要做的是打开一个工作簿,复制一个部分,然后在保存我刚刚复制的部分的同时关闭工作簿。
我知道禁用剪贴板提示的功能:
Application.CutCopyMode = False
ActiveWindow.Close
但这不会保存剪贴板。到目前为止,我已经编写了以下代码:
Sub Input()
Application.ScreenUpdating = False
Dim wb As Workbook
Dim wbPad As String
On Error GoTo ErrHandler
wbPad = ThisWorkbook.Sheets("Voorblad").Range("C10").Value
Set wb = Workbooks.Open(wbPad)
Cells.Select
Selection.Copy
Windows("Masterfile.xlsm").Activate
Worksheets("INPUT").Activate
Cells.Select
ActiveSheet.Paste
Range("A1").Select
Worksheets("Voorblad").Activate
Exit Sub
ErrHandler:
MsgBox ("Bestand niet gevonden. Controleer de maand en de naam van het bestand dat je wilt openen")
End Sub
如果这是不可能的,我想.Activate 我使用单元格引用打开的工作簿并关闭它。
【问题讨论】:
-
您到底想达到什么目的?除了
Cells.Select: Selection.Copy,为什么不复制工作表? -
What I want to do is open a workbook, copy a section and then close the workbook while saving the section I just copied.另一个问题——你为什么需要这个?您想进一步使用这些数据做什么? -
我正在尝试关闭为复制数据而打开的工作簿。我可以通过在激活工作簿时关闭它(关闭和保存剪贴板的选项)或在宏结束时关闭它,但我似乎无法选择(或激活)我打开复制的工作簿数据了。
-
@VitaliyPrushak - 这是我正在进行的一个项目。
-
@HoekPeter 如果你打算在 Excel 中进一步使用它,我问的是目的 - 很可能你根本不需要使用剪贴板。如果您确实需要剪贴板 - 请查看 this 帖子。