我有一个基于公式的模板文件,用于从模板中的数据表计算的Outlook View和Outlook Summary。这些表格中的所有内容都在相应范围代码中指定的范围内找到。我想将这些工作表复制到新工作簿中,并保存为单元格G12中模板表CONTROLS上的文件名。我的问题是我只能让它与其中一张纸一起使用,而不是两者兼而有之。
例如,这有效:
Sub idpattach()
Dim myWB As New Workbook
Set myWB = ActiveWorkbook
Sheets("Outlook View").Copy
Sheets("Outlook View").Range("a1:bm74").Copy
Sheets("Outlook View").Range("a1:bm74").PasteSpecial xlPasteValues
Sheets("CRM Outlook View").Select
ActiveWorkbook.SaveAs myWB.Sheets("CONTROLS").Range("g12").Value, FileFormat:=51
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Sheets("CONTROLS").Select
End Sub
但这不是:
Sub idpattach()
Dim myWB As New Workbook
Set myWB = ActiveWorkbook
Sheets("Outlook View").Copy
Sheets("Outlook View").Range("a1:bm74").Copy
Sheets("Outlook View").Range("a1:bm74").PasteSpecial xlPasteValues
Sheets("Outlook Summary").Copy
Sheets("Outlook Summary").Range("a1:q12").Copy
Sheets("Outlook Summary").Range("a1:q12").PasteSpecial xlPasteValues
Sheets("CRM Outlook View").Select
ActiveWorkbook.SaveAs myWB.Sheets("CONTROLS").Range("g12").Value, FileFormat:=51
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Sheets("CONTROLS").Select
End Sub
如果你可以这么善良,请指出我的错误,并告诉我正确的方法让这个工作,所以我不必将数据表复制到附件。
谢谢
**编辑
让它像这样工作,但有没有人有任何关于如何做得更好的提示?
Sub idpattach()
Dim myWB As New Workbook
Set myWB = ActiveWorkbook
Sheets(Array("Outlook View", "CRM Outlook Summary")).Copy
Sheets("Outlook View").Range("a1:bm74").Copy
Sheets("Outlook View").Range("a1:bm74").PasteSpecial xlPasteValues
Sheets("Outlook Summary").Range("a1:q12").Copy
Sheets("Outlook Summary").Range("a1:q12").PasteSpecial xlPasteValues
Sheets("CRM Outlook View").Range("A1").Select
ActiveWorkbook.SaveAs myWB.Sheets("CONTROLS").Range("g12").Value, FileFormat:=51
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Sheets("CONTROLS").Select
End Sub
答案 0 :(得分:0)
这些可以简化
Sub idpattach()
Dim myWB As New Workbook
Dim outlookView As Worksheet
Dim outlookSummary As Worksheet
Set myWB = ActiveWorkbook
Set outlookView = Sheets("Outlook View")
Set outlookSummary = Sheets("Outlook Summary")
Sheets(Array("Outlook View", "CRM Outlook Summary")).Copy
outlookView.Range("a1:bm74").Copy Destination:= outlookView.Range("a1:bm74").PasteSpecial xlPasteValues
outlookSummary.Range("a1:q12").Copy Destination:= outlookSummary.Range("a1:q12").PasteSpecial xlPasteValues
Sheets("CRM Outlook View").Range("A1").Select
ActiveWorkbook.SaveAs myWB.Sheets("CONTROLS").Range("g12").Value, FileFormat:=51
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Sheets("CONTROLS").Select
End Sub
到
OnCreated
编辑 - 可以将整个块修改为..
OnRenamed