做表费了你很长时间?那是因为你不了解Excel

你的日常工作会接触到Excel吗?

我相信80%的人都会说“YES”。

那你对Excel很熟练吗?

恐怕这个问题大家就不一定能回答的很肯定了。有一点毋庸置疑,Excel的熟练程度决定了工作的效率,尤其是需要处理大量数据的工作。我曾在一个大学同学的研究生宿舍(有点儿饶哈)看到她室友,要给她们班的学生做一年的考勤,我就看她把1月到12月的表一张张复制到一张新的表格里。我问她,万一有100个表让你汇总,你也一张张复制吗?她无奈苦笑道,确实是EXCEL知识太匮乏了,只能用笨方法了。我自己是做财务数据分析的,每天要接触大量数据,很多时候都要把各种表以各种方式汇总,自己也总结了三种常见的汇总方式,与大家分享一下。三种操作就是程序不同,操作方法是一样的,在Excel里的sheet右击鼠标——查看代码—— 复制代码——运行子过程

1、把同一工作簿下的多张表汇总在同一张表

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

2、把同一目录下的多张表汇总到同一工作簿下多张表(需在目录下新建一个工作表)

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

3、把同一目录下的多张表汇总到同一工作簿下一张表 (需在目录下新建一个工作表)

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     

这是我自己在日常工作中经常用到的三种汇总方式,大大节省了我汇总数据的时间。我自己也是从一个Excel小白慢慢成长起来的,在实际工作中经常会遇到一些难处理的数据,就想Excel能不能快速实现了,我就去百度或者找视频看,Excel从来没有让人失望过,工作两年,Excel成了最亲密的伙伴,我也试着把我自己总结的一些方法和大家分享,互相进步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 13,767评论 1 20
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,856评论 6 49
  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 786评论 0 3
  • 最美不过初相遇,很多时候,只需一眼,我们便在心底认定这就是我想遇见的那个他,认定这就是最好的样子。如果幸运一点,这...
    南杏北杳阅读 363评论 0 4
  • 地铁的出现,让人们的出行更加方便,同时也出现了很多问题,但相信这些问题绝不是问题。 【北京地铁1号线】 北京地铁1...
    散人于野阅读 2,319评论 3 15