当前位置:首页 > VBA&EXCEL > 如何将Excel中的数据写入Word表?

如何将Excel中的数据写入Word表?

九天狼6年前 (2019-05-29)VBA&EXCEL3456

之前我们分享了一期小代码,内容是如何将word中表格的数据读入excel……

之后有朋友表示知道了,又问如何将excel中的数据写入word……

此时此刻,我再一次清醒的意识到,这世界上像我这样好的人已经不多了。勉强害羞脸……


举个例子还是。

下图是一张excel表。


再下图是word中的一张excel表


两张表一个处于excel,一个处于word,但求同存异有一个非常重要的共同点:

表的布局是一致的,标题的内容和位置一模一样,比如标题都处在第一行等。

示例动画如下:



在excel中使用以下小代码可以将excel中的数据写入word:

Sub ExcelTableToWord()
    Dim WdApp As Object
    Dim objTable As Object
    Dim objDoc As Object
    Dim strPath As String
    Dim arr As Variant, brr As Variant
    Dim k As Long, x As Long, y As Long
    Dim i As Long, j As Long, Clny As Long
    On Error Resume Next
    Set WdApp = CreateObject("Word.Application")
    With Application.FileDialog(msoFileDialogFilePicker)
        .Filters.Add "Word文件", "*.doc*", 1
        '只显示word文件
        .AllowMultiSelect = False
        '禁止多选文件
        If .Show Then strPath = .SelectedItems(1) Else Exit Sub
    End With
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    arr = [a1].CurrentRegion
    'excel表格数据读入数组arr
    Set objDoc = WdApp.documents.Open(strPath)
    '后台打开用户选定的word文档
    For Each objTable In objDoc.tables
    '遍历word中的表格
        x = objTable.Rows.Count
        y = objTable.Columns.Count
        For j = 1 To y
        '遍历表格的标题行,默认标题处于第一行
            If Application.Clean(objTable.Cell(1, j).Range.Text) = arr(1, j) Then
            '如果标题行一致,则将excel表数据写入word
                For i = 2 To x
                    With objTable.Cell(i, j).Range
                        .Text = ""
                        .Text = arr(i, j)
                    End With
                Next
            End If
        Next
    Next
    objDoc.Close True: WdApp.Quit
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Set objDoc = Nothing
    Set WdApp = Nothing
    MsgBox "处理完成。"
End Sub

小贴士:

某男和女朋友吵架冷战了,想和好,但她不理,于是给她支付宝转了520元,然后又转1314元。不久她发来一条信息:有诚意的话,一句话不要分开两次说。。。

晚安。

如果内容对你有用,请花费几秒钟给个评论!

由于评论审核机制,可能您的评论暂时不可见,不影响查看回复可见的内容!

扫描二维码推送至手机访问。

版权声明:本文由云淡风轻Mr.Liu发布,如需转载请注明出处。

本文链接:https://www.nylmj.cn/post/104.html

相关文章

是时候制作一份自杀or杀人的工作簿了

是时候制作一份自杀or杀人的工作簿了

1,……Long Long Ago……山的那边海的那边……有位Excel高手……他在一家电子商务公司上班。他有一份Excel工作簿,通过VBA编程将日常工作通通自动化了。他每天闲的除了喝王者农药就是剁...

一大波常用函数公式,值得收藏!

一大波常用函数公式,值得收藏!

《一大波常用函数公式》微信推送后,同学们很是喜爱,今天重发,小伙伴们可以收藏一下,在日常工作中如果有类似的问题,拿来即用。话不多说,上菜——1、查找重复内容公式:=IF(COUNTIF(A:A,A2)...

HI,你会用函数实现网页数据抓取吗?

HI,你会用函数实现网页数据抓取吗?

随着互联网的高速发展,网页数据愈发成为数据分析过程中最重要的数据来源之一。也许正是基于这样的考量,从2013版开始,Excel新增了一个名为Web的函数类别,使用其下的函数,可以通过网页链接从Web服...

如何用VBA代码查询两列数据差异?

如何用VBA代码查询两列数据差异?

我们今天和大家分享的内容是如何用VBA代码查询两列数据差异?照例打个响指,举个栗子。如上图所示,查询A列和C列的数据,提取出相同值、A列存在C列不存在的值、A列不存在C列存在的值……查询结果如下图所示...

VLOOKUP函数变态用法,74.2%的人不知道

VLOOKUP函数变态用法,74.2%的人不知道

大家好,我是星光。咱们今天继续聊聊VLOOKUP函数,有人问我为啥这么执迷于VLOOKUP函数,聊了一期又一期的。这个说来话就长了,这牵扯到俺的一点小隐私。和很多表亲一样,VLOOKUP是俺掌握的第一...

【Excel VBA】批量将工作表转换为独立工作簿

【Excel VBA】批量将工作表转换为独立工作簿

有时候 有时候 我会相信一切有尽头……相聚离开都有时候 没有什么会永垂不朽……有时,我们需要将一个工作簿里的每一张工作表,另存为单独的工作薄;如果只是一两张工作表,我们手工操作就挺好的,可如果是若干张...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。