为此使用控制变量,我猜是因为“ws”,有人可以帮忙解决吗?谢谢
Sub CreateNewWBS()
Dim wbThis As Workbook
Dim wbNew As Workbook
Dim ws As Worksheet
Dim strFilename As String
Set wbThis = ThisWorkbook
For Each ws In wbThis.Worksheets
strFilename = wbThis.Path & "/" & ws.Name
ws.Copy
Set wbNew = ActiveWorkbook
For Each ws In wbNew.Worksheets
ws.Cells.Copy
ws.Cells.PasteSpecial xlPasteValues
wbNew.SaveAs strFilename
wbNew.Close
Next ws
End Sub
最佳答案
使用 ws2 并修复了 Next 语句,现在可以使用:
Sub CreateNewWBS()
Dim wbThis As Workbook
Dim wbNew As Workbook
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim strFilename As String
Set wbThis = ThisWorkbook
For Each ws In wbThis.Worksheets
strFilename = wbThis.Path & "/" & ws.Name
ws.Copy
Set wbNew = ActiveWorkbook
For Each ws2 In wbNew.Worksheets
ws2.Cells.Copy
ws2.Cells.PasteSpecial xlPasteValues
Next
wbNew.SaveAs strFilename
wbNew.Close
Next ws
End Sub
关于excel - 控制变量已在使用 - 简单的 VBA 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63157941/