[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求工作簿内单列数据按固定数量拆分成多列后再拆分成多个表格

工作簿内A列数据有数字1-100,已按顺序10个每列拆分成10列,现想将10列数据快速拆分成多个表格,1列数据1个表格。求大神康康!!
如表1
1
2
3
4
5
6
7
8
9
10

本帖最后由 aloha20200628 于 2024-12-15 12:21 编辑

回复 1# Missiaiaia
回复 3# 11231

以下代码存为 test.bat 运行,与要处理的电子表格源文件(假定为 d:\test\a.xls)同目录,运行结果会在当前目录下创建一个临时子目录 ‘sheets.tmp’,源文件中的各列数据被拆分为对应的 *.xls 文件,位于临时子目录中,其命名格式如 {1}.xls, ... {10}.xls。代码只处理 *.xls 或 *.xlsx 两种格式文件,被处理的源文件(须为全路径)和临时子目录名均可在代码第二行中自定义...
  1. 2>1/* ::
  2. @echo off &setlocal &set "xF=d:\test\a.xls" &md "%cd%\sheets.tmp" 2>nul
  3. cscript /nologo /e:jscript "%~f0" "%xF%" "%cd%\sheets.tmp" &pause&exit/b */
  4. v=WSH.arguments, e=v(0).split('.').slice(-1); i=(e=='xls')?-4143:51;
  5. xls=WSH.createobject('excel.application'), xls.visible=false, xls.displayalerts=false;
  6. wb=xls.workbooks.open(v(0)), sn=wb.sheets(1).name;
  7. for (n=1,l=wb.sheets(sn).usedRange.columns.count; n<=l; n++) {
  8. wb.sheets(sn).select(), wb.sheets(sn).columns(n).copy();
  9. wbn=xls.workbooks.add();
  10. wbn.activeSheet.range('A:A').pasteSpecial();
  11. xF=v(1)+'\\{'+n+'}.'+e, wbn.saveAs(xF,i), wbn.close(); }
  12. wb.close(), xls.quit(), WSH.quit();
复制代码

TOP

请问要是想拆分成多个xls文件,而且每个拆分后的xls.都有一张主表(基本信息)和子表(拆分后的数据)呢

TOP

回复 1# Missiaiaia


    拆分成多个Sheet还是多个.xls文件?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表