gpt4 book ai didi

vba - 从一个工作簿复制到另一个工作簿时,会创建一个 "unwanted"工作簿

转载 作者:行者123 更新时间:2023-12-04 22:31:52 25 4
gpt4 key购买 nike

所以我有两个 excel 工作簿 - 工作簿 A 用作用户表单,工作簿 B 用作包含所有数据条目的数据库(B 是合并文件)。每当我打开工作簿 A 时,我想自动从工作簿 B 中提取所有数据并将其复制到工作簿 A 中的单独工作表中。这样做,我可以实现一些其他功能,比如检索以前的条目。

所以我使用了工作簿中嵌入的以下代码:

Public Sub Workbook_open()

Call get_AllUpdateEntries

End Sub


Sub get_AllUpdateEntries()

Dim oriWorkbook As Workbook
Dim destWorkbook As Workbook

Set oriWorkbook = Workbooks.Open("FilePath")
Set destWorkbook = ThisWorkbook

oriWorkbook.Worksheets("Sheet Name").Copy

destWorkbook.Worksheets("Sheet Name").Paste

x.Close SaveChanges:=False

End Sub

但是,我无法运行此宏。它不会按照我的意愿复制工作表,此外,还会打开另一个不需要的工作簿。

最佳答案

当您将工作表复制到任何位置时,它会创建一个带有单个工作表(原始副本)的新事件工作簿。

为复制的工作表提供直接目的地。

Sub get_AllUpdateEntries()

Dim oriWorkbook As Workbook
Dim destWorkbook As Workbook

Set oriWorkbook = Workbooks.Open("FilePath")
Set destWorkbook = ThisWorkbook

'remove the destination worksheet if it already exists
on error resume next
application.displayalerts = false
destWorkbook.worksheets("All Update Entries").delete
application.displayalerts = true
on error goto 0

'copy worksheet to the end of the worksheet queue in ThisWorkbook
oriWorkbook.Worksheets("Sheet Name").Copy _
After:=destWorkbook.Sheets(destWorkbook.Sheets.count)

oriWorkbook.Close SaveChanges:=False

'rename the transferred worksheet
destWorkbook.Sheets(destWorkbook.Sheets.count).name = "All Update Entries"

End Sub

关于vba - 从一个工作簿复制到另一个工作簿时,会创建一个 "unwanted"工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52091634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com