gpt4 book ai didi

vba - 我想使用 vba 代码将单元格从一个工作簿复制到事件工作簿

转载 作者:行者123 更新时间:2023-12-04 21:34:04 26 4
gpt4 key购买 nike

Sub Hungry4Gages()
Dim x As Workbook
Dim y As Workbook

'## Open both workbooks first:

Set x = Workbooks.Open("C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\run_10296500.xlsm")

Set y = ActiveWorkbook

'Now, copy what you want from x:

x.Sheets("dashboard").Range("D17").Copy

'Now, paste to y worksheet:

y.Sheets("Class1").Range("A1").PasteSpecial

'Close x:

x.Close

End Sub

“dashboard”是我从中复制它的工作表的名称,“Class1”是我在事件工作簿上粘贴的工作表。

我收到 y.sheets(Class1) 的错误“下标超出范围”...。

最佳答案

在您当前的代码中,您正在做

Set x = Workbooks.Open("C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\run_10296500.xlsm")

Set y = ActiveWorkbook
Workbooks.Open语句打开工作簿 然后成为事件工作簿 .因此, xy指向同一个工作簿。

所以你需要切换顺序:
Set y = ActiveWorkbook

Set x = Workbooks.Open("C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\run_10296500.xlsm")

正如 Jeeped 指出的,如果您的宏在您正在设置的工作簿中 y到,您可以使用 Set y = ThisWorkbook然后顺序就不重要了,或者你可以使用 ThisWorkbook否则你会使用 y 的任何地方.

(就个人而言,我仍然会设置对“静态”的引用,因为需要一个更好的词,首先是工作簿,然后打开其他工作簿并设置它们的对象引用 - 但这只是我个人的偏好,基于我的想法关于我在做什么。)

关于vba - 我想使用 vba 代码将单元格从一个工作簿复制到事件工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43420676/

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