【发布时间】:2018-12-10 04:45:52
【问题描述】:
我仍在学习 VBA,但我知道这很可能是一个简单的错误,我需要一些帮助来解决这个错误代码。我为替换每天更改其名称的工作簿而创建的变量“isum”出现错误 438。由于“&”,我无法使用“文件路径和 wb”打开它,因此我为它们都创建了一个变量。我正在尝试从一个工作簿复制工作表上的一个部分,然后粘贴到另一个工作簿上的另一个工作表区域。这是我的代码:
Sub Summary()
Application.ScreenUpdating = False
'create variables
Dim wb As String
Dim filepath As String
Dim isum As Workbook
Dim CBD As Workbook
'variables for file with changing date in name title
filepath = "\\main\stuff\Summary\"
wb = "Today Summary " & Format(Date, "m.dd") - 0.01 & ".xlsb"
'open both
Set isum = Workbooks.Open(filepath & wb)
Set CBD = Workbooks.Open("\\main\other\CBD forecast.xlsx")
'copy
CBD.Sheets("Sheet3").Range("B3:J3000").Copy
'Now, transfer values from x to y:
isum.Sheets("Sheet7").Range("A2").Paste 'error 438, it copies but does not paste
'Close x:
CBD.Close
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
摘要是文件夹还是工作簿名称的第一部分?如果是前者,则主机文件夹和工作簿名称之间缺少反斜杠。
-
抱歉,我刚刚进行了编辑以更正它。它以前在那里,当我将代码复制并粘贴到这个问题中时,我只是不小心擦掉了斜线。所以,问题还是出现了。
-
wb = "Today Summary " & Format(Date, "m.dd") & " - 0.01.xlsb"可能更接近真相。如果不是,请确切地披露您尝试将字符串连接到的内容。 ` -
不,但谢谢。字符串 'wb' 应该是根据日期每天更改的文件名(即今日摘要 6.20、今日摘要 6.21、今日摘要 6.22 等)。我想打开这个文件进行粘贴,但是因为'&'符号,它不允许我粘贴'filepath & wb',所以我做了isum = filepath & wb。 “-.01”是打开文件名从当前日期之前的日期开始重新评估。我希望这会有所帮助。
-
好的,wb(工作簿)字符串应该链接到上面的确切
filepath,并且应该在wb文件中作为周五日期的“Today Summary 6.29”。因此Today Summary 6.28工作簿将位于该文件路径下的文件“摘要”下。希望我能回答你的问题。
标签: excel vba syntax-error