在Excel中,通过VBA往word表格里写数据时,如何根据内容增加或者减少word表格列数? 10

在Excel中,通过VBA往word表格里写数据时,如何根据内容的需要增加或者减少word表格列数?... 在Excel中,通过VBA往word表格里写数据时,如何根据内容的需要增加或者减少word表格列数? 展开
 我来答
xiaoxi1981
2013-10-24 · TA获得超过1197个赞
知道小有建树答主
回答量:961
采纳率:72%
帮助的人:337万
展开全部

可以通过word的table对象对word表格进行操作。下面的代码在Excel的Vba中运行,运行前先添加Microsoft Word XX.0 Object Library的引用,其中XX.0根据你安装的Office 版本不同而不同,一般来试Office Word 2003 是11.0,Office Word 2013 是15.0 。

Sub toWord()
    Dim wordApp As New Word.Application
    wordApp.Visible = True
    Dim wordDoc As Word.Document
    Dim wordTable As Word.Table
    
    Set wordDoc = wordApp.Documents.Add       '新建一个文档
    
    Set wordTable = wordDoc.Tables.Add(wordDoc.Range(), 1, 1, wdWord9TableBehavior, wdAutoFitWindow)   '文档中插入一个表格
    Dim r As Long, c As Long
    For r = 1 To ActiveSheet.UsedRange.Rows.Count
        If r > wordTable.Rows.Count Then
            wordTable.Rows.Add   '表格插入行
        End If
        For c = 1 To ActiveSheet.UsedRange.Columns.Count
            If c > wordTable.Columns.Count Then
                wordTable.Columns.Add   '表格插入列
                wordTable.Columns.AutoFit
            End If
            wordTable.Cell(r, c).Range.Text = Cells(r, c)   
        Next c
    Next r
    wordTable.AutoFitBehavior wdAutoFitWindow
End Sub
追问
你回答很详细,先谢谢你,能做成根据A1的数值来决定生成多少列吗?如:A1=2,就生成2列,很抱歉,因为我不太熟悉VBA,没有办法把你上面的源码进行修改,麻烦你修改一下,我再采纳为满意回答。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式