gpt4 book ai didi

excel - 在与事件表 : error 不同的工作簿中调用工作表

转载 作者:行者123 更新时间:2023-12-04 20:08:41 24 4
gpt4 key购买 nike

在处理我的事件工作表时,我需要在不同的工作簿(“draft1”)中调用工作表(“Base”)。事件工作簿(“draft2”)和需要调用的工作簿都有一个工作表“Base”,但我特别需要 Draft1 中的工作表。
以下工作,但是使用事件工作表中的“基础”工作表(因为尚未指定工作簿)并且没有返回错误。

Set C = Worksheets("Base").Range("A1").Offset(0, i)
但是,当我使用以下内容时,出现编译错误并且宏在中途停止。这两个文件都保存在同一个文件夹中,所以这应该不是问题。但是,即使我使用完整地址调用工作簿,也会返回相同的错误。我是否可能需要将宏转移到个人项目中,以便它可以使用其他工作簿?
Set C = Workbooks("draft1.xlsx").Worksheets("Base").Range("A1").Offset(0, i)
帮助将不胜感激!
编辑
这是上面的代码片段 -
Sub CreateNewMonth()
Dim i As Integer, C As Range
Application.ScreenUpdating = False
i = 1
Do While i <> 0
Set C = Worksheets("Base").Range("A1").Offset(0, i)
'Workbooks("draft1.xlsx").
If IsEmpty(C) = False Then
.
.
.
End If
Loop
End Sub
循环没有任何错误,因为它与事件工作表的“基础”一起工作得很好。

最佳答案

为了使这项工作:

Set C = Workbooks("draft1.xlsx").Worksheets("Base").Range("A1").Offset(0, i)
文件 draft1.xlsx需要打开。
或者您需要使用 Workbooks.Open method 打开它:
Dim wbDraft As Workbook
Set wbDraft = Application.Workbooks.Open(FileName:="C:\FullPathToFile\draft1.xlsx")

Dim C As Range
Set C = wbDraft.Worksheets("Base").Range("A1").Offset(0, i)
最后,您可以使用以下方法关闭工作簿:
wbDraft.Close SaveChanges:=False
请注意,编写代码的工作簿可以使用 ThisWorkbook 进行寻址。容易地。

关于excel - 在与事件表 : error 不同的工作簿中调用工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69522692/

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