请EXCEL大师们指教,如何让EXCEL自动把一个工作表里按定行数拆分也多个工作表,

2025-02-24 14:14:25
推荐回答(5个)
回答1:

数据源

以5行数据为一个表分割

新建一个表1并保存

A2=OFFSET(数据源!A$1,MOD(ROW(A5),5)+(LOOKUP(99^9,--RIGHT(REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),"")&T(NOW()),RO

W($1:$5)))-1)*5+1,)&""

向下向右复制(5行),公式中有两个5就是规定的行数,可以根据实际情况调整。

这样第一个表就做完了。后面的表有两种操作方法:

1、复制表1,把表名按顺序修改如表2、表3、表4(根据数据量计算,需要几个就复制修改几个),之后保存。

2、先建好表2、表3、表4等空表,复制表1数据区域,按住shift键不放,光标点表2工作表标签后再点表43工作表标签(这样就选定了表2、表3、表4工作组)在对应单元格粘贴,保存工作簿。

注意:必须保存,否则提取表名的公式卜能生效。

回答2:

用vba来操作。数据在第一表的A1:A3列,标题为一行。第一表后面的表如有数据会被覆盖。

Sub s()
Dim A As Integer
Dim n As Integer
A = 50          '第次移动数据的行数,不含标题。据需要修改。
Sheets(1).Select
n = Int(Cells(Cells.Rows.Count, 1).End(xlUp).Row / 50 + 0.9)
For i = 1 To n - 1
    If i >= Sheets.Count Then Sheets.Add After:=Sheets(i)     'ActiveSheet
    Sheets(1).Range("A1:C1").Copy Sheets(i + 1).Range("A1")
    Sheets(1).Select
    Range(Cells(i * A + 2, 1), Cells((i + 1) * A + 1, 3)).Cut
    Sheets(i + 1).Select
    Range("A2").Select
    ActiveSheet.Paste
Next i
End Sub

回答3:

50行一个表吧,可以用宏来做,请把文件在【百度网盘】(一个使用百度账户登录的可以对话和传文件的应用)上传给我,做好回你。

回答4:

如何将一张工作表拆分成多个工作表?

回答5:

可以使用VBA程序来实现