VBA 表格操作2 表格复制
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 表格复制的更多相关文章
- Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- C#操作PPT表格
1.激活组件 AxFramerControl改控件的dll自己再网上百度下下载这里不多讲 /// <summary> /// 检测是否注册控件 /// < ...
- 转发:VB程序操作word表格(文字、图片)
很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google.baidu搜爆了,都没有找到我需要的东西.到是搜索到了很多问这个问题的记录.没办法,索性 ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- .Net Core NOPI操作word(二) 表格操作
一.创建表格操作 private void btnExport_Click(object sender, EventArgs e) { var dbcontext = new BlogModel(); ...
- Java 操作Word表格
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- 黄聪:C#操作Word表格的常见操作(转)
几种常见C#操作Word表格操作有哪些呢?让我们来看看具体的实例演示: bool saveChange = false; //C#操作Word表格操作 object missing = System. ...
- c#操作word表格
http://www.webshu.net/jiaocheng/programme/ASPNET/200804/6499.html <% if request("infoid" ...
- 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用
这章本来准备写成jQuery的表单操作和表格操作的. 然而昨天吧jQuery的表单操作看完,发现全部在炒之前章节的剩饭,所以就没写出来. 那么今天就来看看表格吧. 因为平常做的都是公司的内部管理系统, ...
随机推荐
- NetLink Communication Mechanism And Netlink Sourcecode Analysis
catalog . Netlink简介 . Netlink Function API Howto . Generic Netlink HOWTO kernel API . RFC Linux Netl ...
- centos安装163源
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.cp wget http://mirrors.163.com/.help/CentO ...
- InternalsVisibleToAttribute——把internal成员暴露给指定的友元程序集
友元程序集简介 我们知道一个类中被定义为internal的成员(包括类型.方法.属性.变量.事件)是只能在同一个程序集中被访问到的(当然了,我这里说的是正常的方式,不包括通过反射来访问).这个规则在. ...
- CF 208A Dubstep(简单字符串处理)
题目链接: 传送门 Dubstep Time Limit: 1000MS Memory Limit: 32768 KB Description Vasya works as a DJ in t ...
- django 模板中url的处理
在模板中直接添加‘/home’这样的链接是十分不推荐的,因为这是一个相对的链接,在不同网页中打开可能会返回不一样的结果. 所以推荐的是 <a href="{{ object.get_a ...
- 数论 Note.
1. $ax+by=1 \rightarrow gcd(a,b)=1$ 2.如果一个数的后n位能被$2^n$整除,那么这个数能被$2^n$整除. 3.如果一个数的各位数之和能被3,9整除,那么这个数能 ...
- 深入JVM-常用Java虚拟机参数
一.跟踪调试参数 1.1 跟踪垃圾回收-读懂虚拟机日志 Java的一大特色就是支持自动的垃圾回收(GC),但是有时候,如果垃圾回收频繁出现,或者占用了太长的CPU时间,就不得不引起重视.此时,就需要一 ...
- redhat安装VMware tools的方法
如果我们仔细看的话, 就会发现在VMware软件界面的左下角处显示着 "you don't have VMware Tools installed",即我们还没安装VMware T ...
- electron package can not find module xml2json
问题 electron 打包好的应用找不到xml2json 但是开发环境npm start 运行正常 定位 node_modules没有包含在打的包中, 解决办法 --no-prune Be care ...
- Linux中设置定期备份oracle数据库
昨天装好了oracle,今天尝试一下自动备份,我这两天装linux和oracle的目的就是这个. 如果是sql server,定期备份可以利用sql server的management studio来 ...