1
我试图改变下面的代码,从活动工作簿复制Sheet1并使用名为CreateFolder的函数将其保存到文件夹中,这一切都很好。更改复制Sheet1到宏中的复制工作簿
从这里:Tweak code to copy sheet1 of a excel file to sheet1 new excel file
我已经试图改变它的整个工作簿发送到由CreateFolder创建的文件夹复制。
感谢
编辑:更新的代码
Sub CopySheets()
Dim SourceWB As Workbook
Dim filePath As String
'Turns off screenupdating and events:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'path refers to your LimeSurvey workbook
Set SourceWB = ActiveWorkbook
filePath = CreateFolder
SourceWB.SaveAs filePath
SourceWB.Close
Set SourceWB = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Function CreateFolder() As String
Dim fso As Object, MyFolder As String
Set fso = CreateObject("Scripting.FileSystemObject")
MyFolder = ThisWorkbook.Path & "\360 Compiled Repository"
If fso.FolderExists(MyFolder) = False Then
fso.CreateFolder (MyFolder)
End If
MyFolder = MyFolder & "\" & Format(Now(), "MMM_YYYY")
If fso.FolderExists(MyFolder) = False Then
fso.CreateFolder (MyFolder)
End If
CreateFolder = MyFolder & "\360 Compiled Repository" & " " & Range("CO3") & " " & Format(Now(), "DD-MM-YY hh.mm") & ".xls"
Set fso = Nothing
End Function
桑托斯你的代码是如此的帮助,我需要它的另一个项目!我更新了我正在使用的代码(上面),代码运行后,一切正在工作'except'我的屏幕上没有显示文件(excel已打开但没有活动文件),在原始版本之后代码运行我有原始文件显示。有没有办法让这个版本做同样的事情? '谢谢' – xyz 2013-05-05 16:53:47
@Tim上面的代码根据'SourceWB'打开一个工作簿,并简单地执行一个SaveAs来复制并存储在文件夹中。 – Santosh 2013-05-05 17:00:49
我改变了'Set SourceWB = Workbooks.Open(ThisWorkbook.Path&“\ LimeSurvey.xls”)'设置SourceWB = ActiveWorkbook',这似乎是导致丢失的文件显示在最后? – xyz 2013-05-05 17:09:28