玩转EXCEL办公技巧汇总(复杂篇)篇2

陆续更新中,常用复杂操作。

一、目录:

8.VBA批量提取word表格到EXCEL中

9.数据透视表再加工

10.文本日期快速转换成日期格式

8.VBA批量提取word表格到EXCEL中

这里有若干份同样表格,但是不同内容的word文档。需求是:将所有的word里面表格的内容全部汇总到一个excel表格当中,如下图:

image

没错,word里面同样也是可以用vba代码的

思路也是很简单:遍历读取每个word文档,提取指定的表格内容到excel表中即可,源代码如下,大部分网上都有现成的,永恒君做了一些修改而言。

Sub 提取word表格()
    
    mypath = ThisWorkbook.Path & "\"
    myname = Dir(mypath & "*.docx")
    m = 1
        Do While myname <> ""
        Set mydoc = GetObject(mypath & myname)
        With mydoc
            m = m + 1
            With .Tables(1)
                Cells(m, 1) = m - 1          '序号
                Range("A1:F1") = Array("序号", "姓名", "性别", "身份证号", "住址", "联系方式")
                Cells(m, 2) = Replace(.cell(1, 2).Range.Text, "", "")
                Cells(m, 3) = Replace(.cell(2, 2).Range.Text, "", "")
                Cells(m, 4) = Replace(.cell(3, 2).Range.Text, "", "")
                Cells(m, 5) = Replace(.cell(4, 2).Range.Text, "", "")
                Cells(m, 6) = Replace(.cell(5, 2).Range.Text, "", "")
            End With
            .Close False
        End With
        myname = Dir()
        Loop
        Set mydoc = Nothing
        MsgBox "提取完成"

End Sub

看一下效果:

image

9.数据透视表再加工

对于数据透视表部分自动再次计算合计数,选择:字段、项目和集。计算字段可以新增列加工,计算项可以实现行加工。非常好用

10.文本日期快速转换

早上一朋友问我excel中如何将类似这样“19850421”的文本日期转换为“1985-04-21”。我的第一反应就是直接设置单元格格式为日期,于是打开excel试了试结果显示“##############”悲剧了,于是想到函数,就在excel中给她组合了一条函数“=CONCATENATE(MID(F9,1,4),"-",MID(F9,5,2),"-",MID(F9,7,2))”结果“还要用函数,这么麻烦”(很囧我)。

于是百度求教了下,分享下一个文本日期转换日期的方式:

1、加入需要转换的文本日期是这样滴;

image

2、选择“数据|分列”;

image

3、保持默认“下一步”;

image

4、选择分隔符号“TAB键”下一步;

image

5、选择“日期”点击完成就可以了

image

6、就可以看到所要的效果

image

7、如果还需别的格式可以【设置单元格格式|自定义】:

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

推荐阅读更多精彩内容