我从一个YouTube教程(https://www.youtube.com/watch?v=5bOFNsdHiPk&t=326s)中得到了这段代码。
Sub SplitandFilterSheet()
'Step 1 - Name your ranges and Copy sheet
'Step 2 - Filter by Department and delete rows not applicable
'Step 3 - Loop until the end of the list
Dim Splitcode As Range
Sheets("Master").Select
Set Splitcode = Range("Splitcode")
For Each cell In Splitcode
Sheets("Master").Copy After:=Worksheets(Sheets.Count)
ActiveSheet.Name = cell.Value
With ActiveWorkbook.Sheets(cell.Value).Range("MasterData")
.AutoFilter Field:=4, Criteria1:="<>" & cell.Value, Operator:=xlFilterValues
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
ActiveSheet.AutoFilter.ShowAllData
Next cell
End Sub
我收到一个错误
该名称已被使用,请尝试其他名称。
在
ActiveSheet.Name = cell.Value
看起来它复制了整个“Master”工作表,而不是继续进行其余的过滤/复制过程,因为每次我运行它时都会创建一个“Master (2)”和“Master (3)”工作表。