通过选择特定行,使用VBA将Excel链接到word文档

通过选择特定行,使用VBA将Excel链接到word文档,excel,vba,ms-word,Excel,Vba,Ms Word,我正在尝试从Excel工作表创建word文档 例如,在我的excel表格中,我有不同的列。其中一个名字是“颜色”。我可以根据不同颜色的名称(如“蓝色”、“绿色”、“黄色”等)过滤此列 假设我用“蓝色”过滤我的专栏 在VBA脚本中,我要做的是选择Common中所有颜色为“蓝色”的行,并将它们复制粘贴到word文档中 我以为我有它,但我使用的脚本,我不知道为什么,但只有我的不同列的标题被粘贴,无论我定义什么 Sub TestOne() Dim appWD As Word.Application,

我正在尝试从Excel工作表创建word文档

例如,在我的excel表格中,我有不同的列。其中一个名字是“颜色”。我可以根据不同颜色的名称(如“蓝色”、“绿色”、“黄色”等)过滤此列

假设我用“蓝色”过滤我的专栏

在VBA脚本中,我要做的是选择Common中所有颜色为“蓝色”的行,并将它们复制粘贴到word文档中

我以为我有它,但我使用的脚本,我不知道为什么,但只有我的不同列的标题被粘贴,无论我定义什么

Sub TestOne()

Dim appWD As Word.Application, wbXL As Excel.Workbook

Set appWD = CreateObject("Word.Application.16")
appWD.Visible = True

debut = Range("A13").End(xlUp).Row
fin = Range("A15").End(xlUp).Row

For i = debut To fin
    'Copy the current row
    Worksheets("Sheet1").Rows(i).Copy
    'tell word to create new document.
    appWD.Documents.Add
    'Tell Word to paste the contents of the clipboard into the new document.
    appWD.Selection.Paste
Next i

'Close the new Word document.
appWD.ActiveDocument.Close

'Save the new document with a sequential file name.
appWD.ActiveDocument.SaveAs Filename:="File"


' Close the new Word application.
appWD.Quit
Set appWD = Nothing

End Sub

如果有人已经做过这样的事情,或者知道如何修复这个脚本,我将非常感谢您的帮助

代码不会选择任何内容,但会粘贴所选内容。在启动代码之前,必须选择该选项。让我补充一下,使用
选择
对象是不好的做法。如果有多个应用程序,情况更糟,因为在代码运行的任何给定时刻,只有在拥有该窗口的应用程序的ActiveWindow中才能有一个
选择
范围(“A13”)。End(xlUp)
表示“转到A13;从那里向上移动以查找第一个使用的单元格;并将该单元格作为范围返回”<代码>范围(“A13”).End(xlUp)。行
将返回该单元格的行号。更常见的情况是,从列中的最后一个单元格开始查找,如
单元格(Rows.Count.“a”)
以查找列a中最后使用的单元格,并从第一个使用的单元格开始循环,可能是
单元格(2,“a”)
。不清楚您打算做什么,但您的循环应该非常短,可能只有一个周期。