返回目录:excel表格制作
把 多个工作表 合并到到一张表, 最快捷的方法是用宏处理:
例如 将多个表合并到总zhidao计表:
总计 表只留一个标题
右键版点 汇总 工作表 标签 ,查看代码, 把如下代码复制进去, F5运行:
Sub 工作表合并()
For Each st In Worksheets
If st.Name <> ActiveSheet.Name Then st.UsedRange.Offset(1, 0).Copy [a65536].End(xlUp).Offset(1, 0)
Next
End Sub
就会把多个表合并 到 总表,
如下例: 在Sheet 总计 中 运行 如上代码,就会将所有权 月份 分表 汇总 进来,方便后续处理,而 不需要一次次粘贴处理
1.首先要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如下面举例的,有205页的数据需要合并,如图所示。
2.看到这么多数据页要合并,如果是复制粘贴的话,工作量就很大了。现在开始合并,首先要在最前页新建一个工作表。如图:
3.在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。如图所示:
4.看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:
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
5.做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。如图所示:
6.合并后的效果如下图,看到的是合e5a48de588b6e799bee5baa6e997aee7ad94332并之后有8000多行,就是205页合并后的结果。谢
假设你的数据在A,B列。用知SUMIF公式:
=sumif(a:a,"王",b:b)
这仅是举一个例子。详细的要根据你的情况,再说道其他方法。
因为你不仅仅只有一个王字
最好是用数据透回视功能。
当然是OFFICE2007或WPS以上版本。可以将A列的唯答一数据(删除重复项)列出来,放进C列
公式就可以改为=sumif(a:a,c1,b:b)
这个需要用vba解决:
(1)新建一个 excel文件
(2)然后 act+f11 弹出vba界面
(3)把一下代码复制到vba里面
Sub wen一键合并()
'定义对话框变量
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'新建一个工作簿
Dim newwb As Workbook
Set newwb = Workbooks.Add
With fd
If .Show = -1 Then
'定义单个文件变量
Dim vrtSelectedItem As Variant
'定义循环变量
Dim i As Integer
i = 1
'开始文件检索
For Each vrtSelectedItem In .SelectedItems
'打开被合并工作簿
Dim tempwb As Workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
'复制工作表
tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
'把新工作簿的工作表名字改成被复制工作簿文件名e68a84e799bee5baa6e79fa5e98193362,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "") '关闭被合并工作簿
tempwb.Close SaveChanges:=False
i = i + 1
Next vrtSelectedItem
End If
End With
Set fd = Nothing
End Sub
(4)运行