excel 表格 拆分 合并
拆分
为了将Excel中的数万行数据拆分成多个个每个固定行数的独立工作表,并且保留每个工作表的表头,你可以使用以下VBA脚本。这个脚本会复制表头到每个新的工作表,并将后续的数据行按固定行行的间隔进行拆分
工作表按行拆分为工作表
Sub 工作表按行拆分为工作表()
'当前工作表(worksheet)按固定行数拆分为多个工作表,保存在当前工作簿(workbook)
tm = Now()
Set ws = Application.ActiveSheet '当前工作表即为待拆分工作表
'--------------------参数填写:num_row,数字;title_row表头行数,数字,第1行为1向下递增
title_row = 1 '表头行数,每个拆分后的sheet都保留
num_row = 20000 '拆分数据行数,按多少行数据进行拆分,不能完全拆分的,多余行数单独
max_row = ActiveSheet.UsedRange.Rows.Count
'拆分sheet数量,向上取整
sheet_count = WorksheetFunction.RoundUp((max_row - title_row) / num_row, 0)
For i = 1 To sheet_count:
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = "拆分表" & i '最后添加新sheet,并命名
With ActiveSheet
ws.Rows(1 & ":" & title_row).Copy '本行复制表头,下行复制数据
.Range("A1").PasteSpecial Paste:=xlPasteAll
.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths
ws.Rows(num_row * (i <