VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿
1 将excel中的多个工作表sheet合成一个工作表
工作表合成前:
工作表合成后:
**第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示:
第二步:点击“开发工具—>查看代码”命令,如图所示:
第三步在sheet1(sheet2)中输入代码,如图所示:
这个程序文件名的长度可能会有问题
给前面加序号 windows 1.txt 修改为 1.bat 双击执行
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir/b/a-d') do (
set /a cnt+=1
set fn=00!cnt!_!
ren "%%i" "!fn:~-3!%%i")
pause
具体代码如下:
Private Sub sheets()
Application.ScreenUpdating = False
'合并工作表
Dim asheet As Worksheet
Set asheet = ActiveSheetDim sum As Long
sum = 1'循环遍历每个工作表 Workbooks(1).sheets.Count 这个数目不一定 可能 -1 -2 -3
For j = 1 To Workbooks(1).sheets.Count '判断遍历的工作表是否是合并后的那张工作表If Workbooks(1).sheets(j).Name <> ActiveSheet.Name Then'如果不是,定义所遍历的工作表数据行数'把所遍历的工作表中的数据复制到合并的那张工作表中Workbooks(1).sheets(j).SelectWorkbooks(1).sheets(j).UsedRange.SelectSelection.Copyasheet.Selectasheet.Cells(sum, 1).Selectasheet.Pastesum = sum + Workbooks(1).sheets(j).Range("A65536").End(xlUp).Row + 1End IfNext j'删除多余的表头
Dim i As Integer, Cons As Integer'定义合并后工作表的数据行数Cons = Range("A65536").End(xlUp).Row'通过上面方法合并工作表后会存在第一行没有数据,所以删除第一行Range("A1").EntireRow.Delete'从后往前遍历合并后的工作表第一列数据For i = Cons To 3 Step -1'判断是否是需要删除的字段名,“序号”是表格中当前字段开头的名字If Range("A" & i) = "单据号" Then'如果是,执行删除Range("A" & i).EntireRow.DeleteEnd IfNext iRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"End Sub
第五步:点击“运行”即可。或者“点击运行—>运行子过程/用户窗体”。
这样工作表就可以合在一起了!
2 多个工作簿的多个工作表合并为一个工作簿
Sub CombineWorkbooks()Dim strFileName As StringDim wb As WorkbookDim ws As Object'包含工作簿的文件夹,可根据实际修改Const strFileDir As String = "D:示例数据记录"Application.ScreenUpdating = FalseSet wb = Workbooks.Add(xlWorksheet)strFileName = Dir(strFileDir & "*.xls*")Do While strFileName <> vbNullStringDim wbOrig As WorkbookSet wbOrig = Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True)strFileName = Left(strFileName, 2)For Each ws In wbOrig.Sheetsws.Copy After:=wb.Sheets(wb.Sheets.Count)wb.Sheets(wb.Sheets.Count).Name = strFileName & ws.IndexNextwbOrig.Close SaveChanges:=FalsestrFileName = DirLoopApplication.DisplayAlerts = Falsewb.Sheets(1).DeleteApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueSet wb = NothingEnd Sub
转载地址:
将excel中的多个工作表sheet合成一个工作表_猫哥,你好的博客-CSDN博客_多个sheet合并成一个表
在Excel里如何将多个工作簿合并到一个工作簿中 - 走看看
VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿相关推荐
- 利用VBA将excel中链接转换为图片形式存放在指定的单元格中
利用VBA将excel中链接转换为图片形式存放在指定的单元格中 VBA代码如下 Private Declare Function URLDownloadToFile Lib "urlmon& ...
- VBA把excel中的图表复制到PPT中
可以使用 VBA 将 Excel 中的图表复制到 PowerPoint 中,只需执行以下几步:1. 在 Excel 工作簿中打开图表:2. 按住 "Ctrl" 键,并选择图表:3. ...
- 将excel中的多个工作表sheet合成一个工作表
上篇说到将excel中的一个工作表按照某列拆分成多个sheet工作表,那么如何把excel中的多个工作表sheet合成一个工作表呢?接下来就继续利用VBA工具来解决这个问题. 工作表合成前: 工作表合 ...
- VBA在Excel中的应用(一):改变符合条件单元格的背景颜色
Jiahua Jin VBA在Excel中的应用(一):改变符合条件单元格的背景颜色 在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理 ...
- 1.VBA实现EXCEL中Sheet1的 甲列 相同数值的行对应的乙列的数的和作为Sheet2中丙列中与Sheet1中甲列 相同的行对应的丁列的值...
今天有一同学,喊我帮忙处理EXCEL中数据的问题,题目表述太含糊,简单说,分3步工作: 1)找出SHEET1的"甲列"中相同的行, 2)把相同的行对应的"乙列" ...
- VBA在Excel中的应用(二)
目录 AutoFilter Binding Cell Comments Cell Copy Cell Format Cell Number Format Cell Value Cell AutoFil ...
- 调试经验——使用VBA在Excel中打开Word文档(Open Word file in Excel with VBA)
VBA的一个强项是可以跨应用操作,特别是在office各程序内部.以下代码实现了在Excel中打开Word文档. 代码: Sub openWord() '在Excel中打开Word文档 ' 'Dim ...
- 通过VBA在excel中实现股票历史数据查询和K线趋势图绘制(完整的excel原件可以在我的资源中下载)
原始文件下载地址:股票历史数据和K线图趋势线的绘制-VB文档类资源-CSDN下载 文章目录 前言 一.目标 二.方法 三.界面和使用说明 四.代码说明 1.查询历史数据 2.绘制K线图和趋势线 3.清 ...
- Python VS VBA 读取Excel中的文本框组件
作者:小小明 Python读取Excel的文本框 基本需求 今天看到了一个很奇怪的问题,要读取Excel文件的文本框中的文本,例如这种: 本以为openxlpy可以读取,但查看openxlpy官方文档 ...
最新文章
- 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...
- documentbodyscrollTop的值总为零的解决办法
- a5d27 第1级bootloader启动问题
- 友图自动排料引擎 V1.0 开发指南
- android+p开机动画,android开机动画[转]
- 吉米多维奇例题——(7)
- linux虚拟机系统下安装jdk
- 在Mac上Topaz Gigapixel AI作为Photoshop插件未显示在“文件”->“自动”中的解决方法
- 微信小程序-实现保存图片功能的3种方式
- 秒杀服务,秒杀系统设计与实现
- stLFR(single tube Long Fragment Read)介绍
- Excel不能自动求和的可能原因
- 随着年龄增长,我应该怎样对抗肌肉流失?
- 【新闻文本分类】(task4)使用gensim训练word2vec
- 你还记得当年上课天天玩 JAVA游戏吗
- 楼板的弹性计算和塑形计算_双向板计算的弹性算法和塑性算法
- JAVA之父----James Gosling(詹姆斯·高斯林)
- Django 图片上传
- html雪碧图效果,综合雪碧图
- 野三坡游记 探访岭南台村