我的VBA代码可在一个工作簿上使用,而不能在另一个工作簿上使用。
摘要代码:
在两者中产生所需的最终结果 却要花一分钟左右的时间 但在其他方面是相同的 工作表名称正确
.Sheets(Array(“ TotalReimbursement”,“ ReadyForExport”))。Copy 是落后的地方
我应该在哪里查找错误?鉴于相同的代码在另一个电子表格中可以正常工作,看来代码本身看起来是错误的地方。
Sub EmailReimbursementRequest()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim sh As Worksheet
Dim TheActiveWindow As Window
Dim TempWindow As Window
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
With Sourcewb
Set TheActiveWindow = ActiveWindow
Set TempWindow = .NewWindow
.Sheets(Array("TotalReimbursement", "ReadyForExport")).Copy
End With
TempWindow.Close
Set Destwb = ActiveWorkbook
从那里获取更多代码。...应在大约一秒钟的时间内生成带有附件的电子邮件。
答案 0 :(得分:1)
可能是由于许多问题造成的:
首先删除不必要的格式,清除所有未使用的单元格中的所有内容(选择数据下方的所有行,然后清除并删除,然后选择数据右侧的所有列,然后清除并删除),保存并重新打开,然后尝试运行再次。
此外,创建临时窗口的目的是什么?从可见代码看来,这似乎是不必要的...