【发布时间】:2015-07-01 17:33:35
【问题描述】:
我是使用 VBA 代码的新手。我有一个包含手动创建的表和数据透视表的工作簿。对于本书中的每个工作表,我想将数据硬编码到一个新的工作簿中,并将其保存为被硬编码的工作表的名称。我有下面的代码。它正在正确保存每个工作簿,但工作簿的内容不正确。每次都在我的原始工作簿中对第一个工作表的内容进行硬编码。我试图在代码末尾设置下一个 ActiveSheet,但它失败了。我有没有提到我不是程序员?请帮忙!
Sub Splitbook()
Dim path As String
Dim dt As String
path = CreateObject("WScript.Shell").specialfolders("Desktop") & "\SLF\ "
Call Shell("explorer.exe" & " " & path, vbNormalFocus)
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.UsedRange.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.SaveAs path & ws.Name, Excel.XlFileFormat.xlOpenXMLWorkbook
ActiveWorkbook.Close SaveChanges:=False
Next ws
End Sub
【问题讨论】:
-
好的。你的问题是什么?你的代码有什么问题?为什么叫资源管理器应用?