将一个Excel内容自动均分到多个文件中

news/2024/7/21 6:37:01 标签: Excel

– 1. 将一个Excel内容自动均分到多个中,每个h+1行(复制表头)

Sub aa()

Dim newbook As Workbook
a = ThisWorkbook.Name
b = ActiveSheet.Name

h = InputBox("input number")

Application.ScreenUpdating = False

Dim rowcount, page, pagemod
rowcount = Range("a65536").End(xlUp).Row - 1
pagemod = rowcount Mod h
If pagemod = 0 Then
    page = rowcount \ h
Else
    page = (rowcount \ h) + 1
End If

For n = 1 To page
Windows(a).Activate
Sheets(b).Activate

Set newbook = Workbooks.Add
With newbook


Union(Rows(1), Rows((h * (n - 1) + 2) & ":" & (h * (n - 1) + h + 1))).Copy

newbook.Activate
ActiveSheet.Paste

.SaveAs Filename:=ThisWorkbook.Path & "\" & Replace(a, ".xlsx", "") & n & ".xlsx"
.Close
End With
Next n

Application.ScreenUpdating = True
End Sub

– 2. 将一个Excel内容自动均分到多个中,每个h+1行(复制表头)(自增行自动从1递增)

Sub aa()

Dim newbook As Workbook
a = ThisWorkbook.Name
b = ActiveSheet.Name

h = InputBox("input number")

Application.ScreenUpdating = False

Dim rowcount, page, pagemod, autoid
rowcount = Range("a65536").End(xlUp).Row - 1
pagemod = rowcount Mod h
If pagemod = 0 Then
    page = rowcount \ h
Else
    page = (rowcount \ h) + 1
End If

For n = 1 To page

If n = page Then
    autoid = rowcount - h * (n - 1) + 1
Else
    autoid = h + 1
End If

Windows(a).Activate
Sheets(b).Activate

Set newbook = Workbooks.Add
With newbook

newbook.Activate
Rows(1).Copy
ActiveSheet.Range("A1").PasteSpecial xlPasteAll
Range("B" & (h * (n - 1) + 2) & ":F" & (h * (n - 1) + autoid + 1)).Copy
ActiveSheet.Range("B2").PasteSpecial xlPasteAll

ActiveSheet.Range("A2").Value = 1
ActiveSheet.Range("A2").AutoFill Destination:=Range("A2:A" & autoid)

.SaveAs Filename:=ThisWorkbook.Path & "\" & Replace(a, ".xlsx", "") & n & ".xlsx"
.Close
End With
Next n

Application.ScreenUpdating = True
End Sub

参考:
https://zhidao.baidu.com/question/2013860089247981428.html
http://www.360doc.com/content/19/0527/17/26751020_838561062.shtml
https://www.cnblogs.com/wzh313/articles/9737573.html


http://www.niftyadmin.cn/n/1431606.html

相关文章

Dual Band Wireless-AC 3165无线网卡 win10 无法开启热点 解决

输入cmd,输入命令: netsh wlan show drivers,查看 支持的承载网络 ,如果为 否,那么就需要更换驱动程序,要用老一些的。不是网卡不支持而是驱动层给屏蔽了。 我用的是18.33.1.1,就可以了 支持…

MySQL 启动失败

Wampserver MySQL启动失败 1 wamp/bin/mysql/ /data/目录下 ib_logfile0,ib_logfile1备份删掉,再重新启动

ollydbg对bp send 下断时的条件断点

bp send ,但并不想拦截所有的包,只想拦截某个固定长度的包 因为socket .send 中第3个参数是表示包长的,所以要在 条件中加入[esp0xc]0026d || [esp0xc]005d 表示拦截长度为621和93字节长度的包 然后在堆栈窗口,右击菜单——》在…

PHP查询结果限制条数

1 传统 LIMIT 初始位置,记录数 查询 SELECT * FROM user OREDER BY ID LIMIT 100,10缺点: 数据量大时,初始位置越大,耗时越长 2 配合 WHERE 查询 (游标分页) SELECT * FROM user WHERE ID > 100 ORDER BY ID LIMIT 10 -- 这里ID为自增主键(int型)…

C++ 生成dll供c# 调用的一些注意事项

C写的代码,懒得再用C#重写一次了,把C封成DLL,结果发现比重写还要改的多,在此标记一下 预先配置一下: 右击工程 - 属性 - 配置属性 - C/C - 命令行 命令行增加:/D_CRT_SECURE_NO_WARNINGS 打开 项目 >>属性页 …

MySQL更新记录表的计数

有如下表,需要将COUNTS栏位按时间顺序1更新 NAMETIMECOUNTS鲁班2020-01-01 00:00:000鲁班2020-01-02 00:00:000鲁班2020-01-03 00:00:000鲁班2020-01-04 00:00:000后裔2020-01-01 00:00:000后裔2020-01-02 00:00:000后裔2020-01-03 00:00:000后裔2020-01-04 00:00:…

c# 访问xml ,json数据的代码

<?xml version"1.0" encoding"UTF-8" standalone"true"?> -<hierarchy rotation"0"> -<node bounds"[0,0][1080,2037]" selected"false" password"false" long-clickable"false…

wampserver简单配置

wampserver简单配置1 隐藏信息1. 隐藏php 信息2. 隐藏apache信息3. 隐藏Index Of(禁止目录列表显示)2 同一局域网其他设备访问3 更改默认网站目录www4 新增一个端口1 隐藏信息 1. 隐藏php 信息 php.ini中修改expose_php On为 expose_php Off 2. 隐藏apache信息 httpd.con…