拆分工作表时出错

问题描述 投票:-3回答:1

如果以前回答这个问题,或者解决方案非常简单,请道歉。我得到了一个

运行时错误'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
excel vba
1个回答
0
投票

看看这是否有帮助 - 我创建了明确的引用,以便将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
© www.soinside.com 2019 - 2024. All rights reserved.