office excel文件有工作簿,里面存放一张张表,表的名字叫做标签名,簿名就是我们常见的的文件名,簿的类型有“一簿一表”与“一簿多表”。

完成将多张表合并到一个工作簿中,并为表标签命名,增加制表日期。

簿与簿直接的操作基本如下:

1.一簿一表之间的复制 一对一

2.多个一簿一表的合并

3.多个一簿多表与一簿一表的合并

现在在目录下新建文件夹test,并在里面新建2个一簿3表的excel文件li1,li2,其中li1中3张表的标签分别为a\b\c,li2中表的标签分别为1、2、3,1个一簿1表的excel文件li0,表标签为0.

如图所示

一簿一表之间的复制

Sub 一簿一表之间的复制
Application.ScreenUpdating = F Dim wb As Workbook filename = "C:\Users\liyi\Desktop\test" & "\li1.xlsx"
Set wb = Workbooks.Add Dim tempwb As Workbook Set tempwb = GetObject(filename) tempwb.Worksheets(1).Copy before:=wb.Worksheets(wb.Worksheets.Count)
wb.SaveAs ThisWorkbook.Path & "\一簿一表之间的复制.xlsx"
wb.Close
End Sub

这样就把li1中的表a,复制到新建的表中,并插在默认第一张表之前。

结果如图

多个一簿一表之间的合并

Sub 多个一簿一表的合并()
Application.ScreenUpdating = F Dim wb As Workbook, filename As String filename = Dir("C:\Users\liyi\Desktop\test" & "\li*.xlsx") ' dir函数遍历文件,并将文件名赋值给filename
Set wb = Workbooks.Add Dim tempwb As Workbook, fn As String
Do While filename <> ""
fn = "C:\Users\liyi\Desktop\test" & "\" & filename '将文件路径赋值给fn
Set tempwb = GetObject(fn) '获取到该文件
tempwb.Worksheets(1).Copy before:=wb.Worksheets(wb.Worksheets.Count)
ActiveSheet.Name = Left(filename, Len(filename) - 5) & "_" & tempwb.Worksheets(1).Name
'以工作簿的名字加上"_"加上表标签为新簿中的表命名 filename = Dir
Loop
Application.DisplayAlerts = False '“删除工作表警告提示” 取消
Sheets("sheet1").Delete '删除新建簿时默认生成的sheet1
Application.DisplayAlerts = True
wb.SaveAs ThisWorkbook.Path & "\多个一簿一表的合并.xlsx"
wb.Close End Sub

新簿是将3个文件中的第一张表复制到新簿,并重新命名

结果如图:

多个一簿多表的合并

Sub 多个一簿多表的合并()
Application.ScreenUpdating = F Dim wb As Workbook, filename As String, fn As String filename = Dir("C:\Users\liyi\Desktop\test" & "\li*.xlsx")
Set wb = Workbooks.Add Dim tempwb As Workbook
Do While filename <> ""
fn = "C:\Users\liyi\Desktop\test" & "\" & filename
Set tempwb = GetObject(fn)
Dim sht As Worksheet
For Each sht In tempwb.Worksheets
sht.Copy before:=wb.Worksheets(wb.Worksheets.Count)
ActiveSheet.Name = Left(filename, Len(filename) - 5) & "_" & sht.Name Next filename = Dir
Loop
Application.DisplayAlerts = False '“删除工作表警告提示” 取消
Sheets("sheet1").Delete
Application.DisplayAlerts = True
yue = Month(Date - 1)
ri = Day(Date - 1) wb.SaveAs ThisWorkbook.Path & "\多个一簿多表的合并()" & yue & ri & ".xlsx"
wb.Close End Sub

结果如图

VBA 表格操作2 表格复制的更多相关文章

  1. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  2. C#操作PPT表格

    1.激活组件 AxFramerControl改控件的dll自己再网上百度下下载这里不多讲 /// <summary>        /// 检测是否注册控件        /// < ...

  3. 转发:VB程序操作word表格(文字、图片)

    很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google.baidu搜爆了,都没有找到我需要的东西.到是搜索到了很多问这个问题的记录.没办法,索性 ...

  4. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  5. .Net Core NOPI操作word(二) 表格操作

    一.创建表格操作 private void btnExport_Click(object sender, EventArgs e) { var dbcontext = new BlogModel(); ...

  6. Java 操作Word表格

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  7. 黄聪:C#操作Word表格的常见操作(转)

    几种常见C#操作Word表格操作有哪些呢?让我们来看看具体的实例演示: bool saveChange = false; //C#操作Word表格操作 object missing = System. ...

  8. c#操作word表格

    http://www.webshu.net/jiaocheng/programme/ASPNET/200804/6499.html <% if request("infoid" ...

  9. 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用

    这章本来准备写成jQuery的表单操作和表格操作的. 然而昨天吧jQuery的表单操作看完,发现全部在炒之前章节的剩饭,所以就没写出来. 那么今天就来看看表格吧. 因为平常做的都是公司的内部管理系统, ...

随机推荐

  1. Getshell Via phpmyadmin SQL Execution In /import.php To Write Evil Webshell File Into Disk

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上 ...

  2. web开发 虚拟目录映射

    A 当服务器和 web应用不在一个目录下 $CATALINA_BASE/conf/catalina/localhost/ 文件夹下创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的 ...

  3. Unity 单例写法

    借鉴自:http://www.cnblogs.com/CodeCabin/p/unity_global_manager.html 实现复杂一些的全局控制,如切换游戏关卡等操作,更常用的方式是使用单例类 ...

  4. HDU 2544 单源最短路

    题目链接: 传送门 最短路 Time Limit: 1000MS     Memory Limit: 65536K 题目描述 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是 ...

  5. [Android]Volley的使用

    Volley是Google I/O 2013上提出来的为Android提供简单快速网络访问的项目.Volley特别适合数据量不大但是通信频繁的场景. 优势 相比其他网络载入类库,Volley 的优势官 ...

  6. SPOJ:ABCDEF

    传送门 废话不说,这道题暴力枚举是$O(N^6)$,显然无法承受. 推导一下 $(x_1*x_2+x_3)/x_4-x_5=x_6$ $x_1*x_2+x_3=x_4*(x_5+x_6)$ 等式左边和 ...

  7. 1 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之DRBD的搭建

    preface 近来公司利润上升,购买了10几台服务器,趁此机会,把mysql的主从同步的架构进一步扩展,为了适应日益增长的流量.针对mysql架构的扩展,先是咨询前辈,后和同事探讨,准备采用Mysq ...

  8. 今天接触枚举类型,感觉是C里面应该才有的东西

    遍历枚类型的方法: public static EActChannel getEnumByCode(int code) { for (EActChannel enm : EActChannel.val ...

  9. 七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

    http://blog.csdn.net/xw20084898/article/details/17564957 一.工具:VC+OpenCV 二.语言:C++ 三.原理 otsu法(最大类间方差法, ...

  10. 在浏览器输入 URL 后会发生什么?超级详细介绍

    一个古老的面试问题:当你在浏览器中输入whosmall.com并且按下回车之后发生了什么? 不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节. 这将是一个协作的过程,所以深入挖 ...