乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何利用<em>excel宏</em>计算<em>合并</em>单个ex

如何利用<em>excel宏</em>计算<em>合并</em>单个ex

作者:乔山办公网日期:

返回目录:excel表格制作


很简单啊 几个循环就搞定了的 ,首先判定没个表格的列,使用循环判定将一行一行的数据完全复制在制定表格,直到判定行为空的时候进行判定第二个表格就行了

1. 增加一个工作表sheet,重命名xx 。
2. 点到新增加的工作表中,按ALT+F11,出现如图的对话框。

3.双击名称xx的图标。出现如下对话框。

4. 在上图红色的区域复制上如下代码。
Sub GetStName()
Dim FinalRow As Long
Dim St As Worksheet
FinalRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 2
For Each St In ThisWorkbook.Worksheets
Cells(FinalRow, 1).Value = St.Name
FinalRow = FinalRow + 1
Next St
End Sub
5.把名称为xx的图表的属性改为sheet1(这需要把原先那个sheet1,改为其他的sheet,不和其他工作表重复即可
6.点击菜单中的执行的三角符号,就可以合并所有sheet的工作表内容到一个工作表中
这个是代码 第一步新建一个文件夹 皀准备合并的表格文件放在这个文件夹里 然后在这个文件夹李新建一个表格文件 打开 在sheet1处的标签处右键 查看代码 把下面代码复制进去 运行 运行子程序就可以了,如果不行可以把文件 发来我帮你试试
Sub 合并当前目录下7a64e58685e5aeb9361所有工作簿的全部工作表()
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

1.首先把需要合并的excel工作薄整理到一个文件夹中,如图,用来合并到一起的工作薄的名字要注7a64e78988e69d83339意,这里取名叫“合并工作薄”。

2.打开这个excel表,直接按键ALT+F11,进入下图界面。双击如图所示位置的sheet1。

3.如图,打开准备好的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

4.注意事项,如图,注意工作薄的名字,同时,注意代码中设定的excel版本。如果出现无法编译的情况,可以用这个共享的txt。

5.回到“合并工作薄”的excel表格中,如图,点击工具(没有的到excel的选项中添加),选择宏。

6.选择宏以后会出现下图界面,直接双击图中选项。

7.双击后弹出选择待合并的文件夹中工作薄,直接全选要合并的工作薄即可。

8.如图,这就是合并后的效果,这两个工作薄是下载的2014年的高考录取分数线的内容,效果不错,而且合并工作薄本身的工作表是不会被占用的,是新建的工作表。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网