如果以前回答这个问题,或者解决方案非常简单,请道歉。我得到了一个
运行时错误'1004',无法访问'sheet'。
我正在尝试将工作簿拆分为单独的.text文件。
Sub Splitbook()
MyPath = ThisWorkbook.Path
For Each sht In ThisWorkbook.Sheets
sht.Copy
ActiveSheet.Cells.Copy
ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Cells.PasteSpecial Paste:=xlPasteFormats
ActiveWorkbook.SaveAs _
FileName:=MyPath & "\" & sht.Name, FileFormat:=xlTextMac,
CreateBackup:=False
ActiveWorkbook.Close savechanges:=False
Next sht
End Sub
看看这是否有帮助 - 我创建了明确的引用,以便将Active
工作表/工作簿的使用保持在最低限度:
Sub Splitbook()
Dim tempWS As Worksheet
Dim tempWB As Workbook
MyPath = ThisWorkbook.Path
For Each sht In ThisWorkbook.Sheets
Set tempWB = Workbooks.Add
Set tempWS = tempWB.Sheets(1)
sht.Cells.Copy
tempWS.Cells.PasteSpecial Paste:=xlPasteValues
tempWS.Cells.PasteSpecial Paste:=xlPasteFormats
tempWB.SaveAs Filename:=MyPath & "\" & sht.Name, FileFormat:=xlTextMac, CreateBackup:=False
tempWB.Close savechanges:=False
Next sht
End Sub