这是一个例子:
Sub SplitSheet() Dim col As String col = InputBox("请输入需要拆分的列(如A、B、C):") Dim i As Integer Dim uniqueValues As New Collection Dim value As Variant Dim lastRow As Long lastRow = Cells(Rows.Count, col).End(xlUp).Row For i = 2 To lastRow value = Cells(i, col).Value On Error Resume Next uniqueValues.Add value, CStr(value) On Error GoTo 0 Next i For Each value In uniqueValues Sheets.Add(After:=Sheets(Sheets.Count)).Name = value For i = 2 To lastRow If Cells(i, col).Value = value Then Rows(i).Cut Destination:=Sheets(value).Range("A" & Rows.Count).End(xlUp).Offset(1) End If Next i Next value End Sub
您可以把这段代码复制到VBA编辑器中,然后运行它。运行时会弹出一个对话框,询问您需要拆分的列。输入列名(如A、B、C等),然后点击确定。然后它会对工作表内容按照您输入的列进行拆分,并以列的内容为名字新建工作表。