1、首先打开上例文件,如下图。
2、然后按下快捷键ALT+F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。
3、然后插入了一个模块1,在代码框中复制如下代码:Sub 总表拆分表() '2020-5-25 22:46:15 Dim r As Long, i As Long, mb(), k As Long, m As String r = Range("a" & Rows.Count).End(xlUp).Row ReDim mb(r - 1, 3) k = 0 For i = 2 To r If i = 2 Then k = k + 1 mb(k, 1) = Range("a" & i).Value mb(k, 2) = i Else If mb(k, 1) <> Range("a" & i).Value Then k = k + 1 mb(k, 1) = Range("a" & i).Value mb(k, 2) = i mb(k - 1, 3) = i - 1 End If End If Next i mb(k, 3) = r m = ActiveSheet.Name ActiveSheet.Copy After:=ActiveSheet m1 = ActiveSheet.Name Rows("2:" & r).Delete For i = 1 To k Sheets(m1).Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = mb(i, 1) Sheets(m).Rows(mb(i, 2) & ":" & mb(i, 3)).Copy Range("a2").Insert Shift:=xlDown Range("a2").Select Next i Application.DisplayAlerts = False Sheets(m1).DeleteEnd Sub
4、以上操作动态过程如下:
5、回到工作表窗口,然后运行【总表拆分表】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名),生成各表,运行过程如下图。