使用VBA在excle中写一个代码,对工作表内容进行拆分,当运行时弹出对话框输入需要拆分的列,然后对相应的内容以列的内容为名字拆分到新的工作表中
时间: 2023-06-03 22:03:41 浏览: 147
这是一个例子:
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等),然后点击确定。然后它会对工作表内容按照您输入的列进行拆分,并以列的内容为名字新建工作表。
阅读全文