excel去重合并宏(合并多个excel表格数据宏代码)

Excel表格网 2022-11-18 07:48 编辑:admin 188阅读

1. 合并多个excel表格数据宏代码

第一步,录制新宏  选择工具-宏-录制新宏,在对话框中,为你将要做的宏设定一个快捷键。确定之后,可以看到一个小的工具栏,上面有个停字。从现在开始,你的每一步操作都会被记录下来,直到单击停字下面的按钮,结束宏录制过程。替换默认宏名主要是便于分别这些宏。宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。  第二步,执行宏  录制完一个宏后之后就可以执行它了,只要,就会重复刚才的一系列操作。  当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行遥控。但VBA的遥控不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。  要执行刚才录制的宏,可以按以下步骤进行:   1)选择任何一个单元格。 2)选择工具宏宏,显示宏对话框。 3)选择自己录制的宏名,选择执行。  或者是直接按下按初始设定的快捷键,也可以执行宏。  查看录制的代码  选择工具宏宏,显示宏对话框。 单击列表中的自己定义的宏名,选择编辑按钮。 此时,会打开VBA的编辑器窗口(VBE),在这里我们可以看到VBA的语句。(关于VBA知识,请参考《excel中VBA基础入门介绍》等文章)  编辑录制的宏  需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:希望增加宏的功能。比如:加入判断或循环等无法录制的语句。excel表格的基本操作  录制宏的局限性  希望自动化的许多EXCEL过程大多都可以用录制宏来完成.但是宏记录器存在以下局限性.通过宏记录器无法完成的工作有:   1)录制的宏无判断或循环能力。2)人机交互能力差,即用户无法进行输入,计算机无法给出提示。3)无法显示EXCEL对话框。4)无法显示自定义窗体。

2. vba多表格合并

将多列表格内容合并在一列中,可以按以下方法操作,下面是原图:

  1、创建一个Excel表格,要求将表格的多列内容合并在一列中。

  2、将表格红色边框内的多列内容,合并在右侧枚红色边框的一列。

  3、在F2表格内输入“=

  4、输入完可以得到这样的效果。

  5、逐步在F3输入“=B3&C3&D3&E3”,F4输入“=B4&C24&D4&E4”……可以得到相应效果。

  6、还有简便的方式:拖拽格式,得到效果!选中表格,拖拽右下角的“+”往下拖拽即可。

3. excel 合并多个工作表 宏

右击分页-移动或复制工作表-然后选择移动到你要复制到的文件就完成了 建一个宏-“个人宏工作簿”,内容如下: Sub 合并文件() Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Workbooks.Open Filename:="E:\合表.xlsx" Selection.Insert Shift:=xlDown Application.CutCopyMode = False ActiveWorkbook.Save ActiveWindow.Close ActiveWorkbook.Save ActiveWindow.Close ActiveWorkbook.Save Application.Run "PERSONAL.XLSB!合并文件" End Sub 新建“E:\合表.xlsx”空白表。 打开所有需要合并的文件(可一批批进行),运行“PERSONAL.XLSB!合并文件”宏。

4. 合并多个excel表格数据宏代码怎么弄

使用方法:

1、新建一个工作薄,将其命名为你合并后的名字。

2、打开此工作薄。

3、在其下任一个工作表标签上点击右键,选择“查看代码”。

4、在打开的VBA编辑窗口中粘贴以下代码: Sub 工作薄间工作表合并() Dim FileOpen Dim X As Integer Application.ScreenUpdating = False FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄") X = 1 While X <= UBound(FileOpen) Workbooks.Open Filename:=FileOpen(X) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) X = X + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub errhadler: MsgBox Err.Description End Sub

5、关闭VBA编辑窗口。

6、在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。

7、在打开的对话窗口中,选择你要合并的300个工作薄。

5. 合并多个excel表格数据宏代码怎么设置

快速把多个excel表合并成一个excel表步骤如下:

1、把多个excel表格放在同一文件夹里。

2、新建一个excel表格。

3、打开新建excel表格,右键单击sheet1,点击查看代码。

4、弹出宏计算界面,将代码复制进去。

5、在工具栏中找到运行,点击“运行子过程”。

6、运行完成之后,点击确定查看合并后的数据。

6. 怎么把多个excel表格合成一个宏代码

Sub 合并当前工作簿下的所有工作表()

Application.ScreenUpdating = False

For j = 1 To Sheets.Count

If Sheets(j).Name <> ActiveSheet.Name Then

X = Range("A65536").End(xlUp).Row + 1

Sheets(j).UsedRange.Copy Cells(X, 1)

End If

Next

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"

End Sub

7. excel合并多个工作表 宏代码

可以利用VBA代码来实现,详细方法:

1、新建一个工作薄,将其命名为你合并后的名字。

2、打开此工作薄。

3、在其下任一个工作表标签上点击右键,选择“查看代码”。

4、在打开的VBA编辑窗口中粘贴以下代码:Sub 工作薄间工作表合并()Dim FileOpenDim X As IntegerApplication.ScreenUpdating = FalseFileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")X = 1While X <= UBound(FileOpen)Workbooks.Open Filename:=FileOpen(X)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)X = X + 1WendExitHandler:Application.ScreenUpdating = TrueExit Suberrhadler:MsgBox Err.DescriptionEnd Sub5、关闭VBA编辑窗口。6、在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。7、在打开的对话窗口中,选择你要合并的300个工作薄。8、等待。。。。ok!

8. 多个表格合并成一个宏代码

合并之前,请先创建一个空白的 Sheet 作为合并目标 Sheet ,这个 Sheet 必须是第一个 Sheet 哦。如果不合并标题行(比如第一行)则 j=1 改为 j=2如果数据不是从第一行,或者第一列开始的,请修改 j=1 及 k=2 两行的参数。比如 j=2 k=3 表示从 第2行,第3列开始的数据。

Sub CombineSheet()Dim i, j, k, n As Integern = 1For i = 2 To ThisWorkbook.Sheets.CountFor j = 2 To ThisWorkbook.Sheets(i).UsedRange.Rows.CountFor k = 1 To ThisWorkbook.Sheets(i).UsedRange.Columns.CountThisWorkbook.Sheets(1).Cells(n, k).Value = ThisWorkbook.Sheets(i).Cells(j, k).textNext kn = n + 1Next jNext iEnd Sub

9. 将多个excel表合并到一个excel表宏

看到Excel多表合并,其实常见的有2种场景

场景一:多个Excel文件需要合并为1个Excel文件(多个工作簿合并为1个工作簿)

场景二:1个Excel文件种有多个工作表,需要合并为1个工作表

首先来看下,场景一(多个Excel文件合并为1个文件),都有哪些方法可以实现?

场景描述:如图所示,在文件夹中,有4个Excel文件,每个Excel文件的数据格式都一致,需要把4个Excel文件合并到1个Excel文件中。

每个工作簿中的内容格式都一样,为了区分,我把工作簿1中的 位置 数据,标为了“工作簿1”;工作簿2中的数据标为了“工作簿2”...以此类推。

下面雷哥推荐几种方法来实现多个Excel文件合并为1个文件

方法1:PowerQuery

Step1:单击 【数据】- 【新建查询】 - 【从文件】- 【从文件夹】

Step2:单击 【浏览】,选择文件夹路径

Step3:选择【合并并加载】

最终的效果如图所下图所示。自动增加了

Source.Name

数据列,可以很方便看到数据来自于哪个工作簿

方法2:使用CMD命令,1s搞定合并

Step1:需要把文件格式修改为 csv文件格式。打开文件,另存为csv文件即可

Step2:在文件所在路径,按【shift】+右键,点击【此处打开命令窗口】,输入

copy *.csv out.csv, 即把该路径下所有的csv文件合并到out.csv文件中。

下面来看下,场景二(多个Excel工作表合并为1个Excel工作簿),都有哪些方法可以实现?

场景描述:如图所示,1个excel文件中,有多个工作表,需要合并到1个工作表中。

方法1:PowerQuery法

Step1:单击 【数据】- 【新建查询】 - 【从工作簿】

Step2:选择需要合并的工作表

Step3:在追加查询中,单击【将查询追加为新查询】

Step4:选择所需的工作表

Step5:单击关闭并上载

最终的效果如图所示

方法2:使用宏

Step1:按【Alt】+【F11】

Step2:输入代码,并单击三角形图标运行

Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X = Range("A60000).End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "小主,数据合并结束啦!", vbInformation, "提示" End Sub

运行效果如下图所示,后续我们删去多余的标题行即可~

方法3:插件法 - 最简单

Step1:使用【方方格子】插件,单击【合并工作表】

Step2:选择汇总区域后,单击确定

最终的效果如下

还是插件最简单,分分钟搞定哈~

雷哥:自媒体【雷哥office】创始人,《竞争力:玩转职场Excel,从此不加班》作者,微软Excel专家认证,office培训师,职场老司机,分享职场经验 / 办公技能 / 提高职场效率!

10. 怎么用宏合并excel多个表

我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。

用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。

然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,

Sub 合并当前目录下所有工作簿的全部工作表()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub

运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。

注意事项

金山的WPS没有宏计算功能。只能用microsoft excel来实现。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片